当从JXTable导出到excel (.csv)文件时,制表符转义序列不工作



我试图从JXTable导出数据到。csv文件(excel)。我使用以下代码:

public void exportToExcel(NGAFStandardTable table, File file){
        int i = 0;
        int j = 0;
        try{
            TableModel model = table.getModel();
            FileWriter excel = new FileWriter(file);
            for (i = 0; i < model.getColumnCount(); i++) {
                excel.write(model.getColumnName(i) + "t");
            }
            excel.write("n");
            for (i = 0; i < model.getRowCount(); i++){
                for (j = 0; j < (model.getColumnCount()); j++){
                    if(model.getValueAt(i,j) == null){
                        excel.write("" + "t");
                    }
                    else { 
                        excel.write(model.getValueAt(i,j).toString() + "t");
                    }
                }
                excel.write("n");
            }
            excel.close();
        }
        catch(IOException e) {
            System.out.println(e);
        }
    }

结果是我得到一个CSV文件,其中所有的值从表中,但每一行的值是在一个单元格(例如。(a1 a2 a3)即,row1的所有值都在A1单元格中,依此类推……我使用TAB转义序列("t"),所以数据移动到下一列,但它没有发生。请建议

当我使用","作为分隔符代替"t"时,它可以工作:excel.write(model.getValueAt(i, j).toString() + ",");

相关内容

最新更新