【发布时间】:2016-01-27 16:59:24
【问题描述】:
我在将 Jtable 从我的程序导出到 Excel 时遇到问题,我正在使用这种方法,因为我不允许使用 POI
public void exportTable(File file)throws IOException{
FileWriter out = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(out);
for(int i = 0; i < myTable.getColumnCount(); i++){
bw.write(myTable.getColumnName(i) + "\t");
}
bw.write("\n");
for(int i = 0; i < myTable.getRowCount(); i++){
for(int j = 0; j < myTable.getColumnCount(); j++){
bw.write(myTable.getValueAt(i, j).toString() +"\t");
}
bw.write("\n");
}
bw.close();
JOptionPane.showMessageDialog(rootPane, "Your table have been exported to " + file);
}
我正在使用这个方法:
try{
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy_HH-mm-ss");
String desktop = System.getProperty("user.home") + "/Desktop";
String name = desktop + "/MyTable" + dateFormat.format(date)+ ".csv";
exportTable(new File(name));
}catch(IOException e){
e.getMessage();
}
嗯,这很好,但问题是一行中的每一列都写在第一列,而不是写在不同的列中,我认为“\t”可以解决这个问题,但是没有,知道如何解决这个问题吗?
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。顺便说一句 - 你最近几天没有问过同样的问题吗?
-
我发布了一个类似的问题,但我可以解决问题,现在我遇到了不同的问题
-
BTW - 让它适用于硬编码数组,它应该适用于 Swing
JTable,因此这确实表明这与 Swing 或JTable无关。我怀疑我会在已删除的问题上提到同样的事情! -
您可能还想看看
StringJoiner类,这会更容易
标签: java excel swing jtable filewriter