【发布时间】:2014-08-08 22:02:28
【问题描述】:
我在使用 JExcel“jxl”库写入现有 excel 文件时遇到问题。 我有一个包含工作表数据的 jTable,当用户按下删除按钮时,应该从工作表和表模型中删除选定的行。在下面的代码中,它是从 jTable 模型中删除但不是从单子上!实际上,按下删除按钮后,整个工作簿都变成了 0 KB!你能告诉我有什么问题吗?
"注意:我尝试将复制的工作簿的名称更改为另一个名称并删除了这一行 (sheet.removeRow(deletedrow+1); ),它复制了原始工作簿就好了。我认为问题发生在删除线”
private void removebuttonActionPerformed(java.awt.event.ActionEvent evt) {
int deletedrow;
deletedrow = logtable.getSelectedRow();
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(this, "Are you sure you want to delete this record from "+ sheetname + " sheet?", "Confirmation Message", dialogButton);
if (dialogResult == 0) {
try {
Workbook workbook = Workbook.getWorkbook(new File("path/" + wbname + ".xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("path/" +wbname +".xls"), workbook);
WritableSheet sheet = copy.getSheet(sheetname);
sheet.removeRow(deletedrow + 1);
copy.write();
copy.close();
JOptionPane.showMessageDialog(this, "The record has been deleted from (" + sheetname + ") successfully", "Information Message", JOptionPane.INFORMATION_MESSAGE);
model.removeRow(deletedrow);
logtable.setModel(model);
}//try
catch (IOException | BiffException | WriteException | HeadlessException e) {
e.printStackTrace();
}
}//if confirmation message = yes
}
【问题讨论】: