从 JTable 写入 Excel 时,会不断创建新的 xls 文件,而不是创建新工作表。例如 :
excel电子表格中有5张纸。
该程序基于该表构建一个 JTable。
并且有必要在 JTable 中更改时,将所有数据保存回 Excel 表。
我的代码中发生的事情是每张纸都在一个新窗口中打开。但是按xls文件中的保存键,所有工作表都被擦除,创建当前工作表并保存数据。并且有必要覆盖其中一张现有工作表中的数据。
所有代码都适用于 Apache POI,但这段代码适用于 JXL
WritableWorkbook workbook1 = Workbook.createWorkbook(new File("C:\\result.xls"));
WritableSheet sheet1 = workbook1.createSheet(list, listnum);
TableModel model = table.getModel();
for (int i = 0; i < model.getColumnCount(); i++) {
Label column = new Label(i, 0, model.getColumnName(i));
sheet1.addCell(column);
}
int j = 0;
for (int i = 0; i < model.getRowCount(); i++) {
for (j = 0; j < model.getColumnCount(); j++) {
Label row = new Label(j, i + 1,
model.getValueAt(i, j).toString());
sheet1.addCell(row);
}
}
workbook1.write();
workbook1.close();
如何修复将其从 jxl 转换为 apache poi 的代码?
在第一行中,您需要更改的不是创建新书,而是阅读现有的书。
你的代码中应该有一本书:
在其上创建新工作表: