我想修改一个excel文件。我无法做到这一点。 我做了一些计算并得到答案。我想将该答案存储在excel文件中。再次打开它,存储并保存。
但是,在这里,我无法做到。 每次我得到一个值,我想将该值存储在excel中,然后再次打开并存储它。
static int count=0;
public static void main(String[] args)
{
try {
for(int i=0;i<5;i++)
update(i);
} catch (Exception e) {
}
}
public static void update(int i) throws BiffException, IOException, RowsExceededException, WriteException
{
count++;
Workbook existingWorkbook = Workbook.getWorkbook(new File("try.xls"));
WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("try2.xls"), existingWorkbook);
WritableSheet sheetToEdit = workbookCopy.getSheet(0);
Label l = new Label(4, count, String.valueOf(i));
sheetToEdit.addCell(l);
workbookCopy.write();
workbookCopy.close();
existingWorkbook.close();
}
答案 0 :(得分:0)
它有效,但我不知道你是否在做你认为自己在做的事情。每次通过,我都看到try2.xls正在正确更新。问题是在下一个循环中,您再次读取原始文件try.xls,然后再次复制和写入。在5次迭代结束时,您会在相应的单元格中看到数字4,但不会看到0-3,因为这些文件现在已被覆盖。
应该在update方法中移动循环,以便所有写入都在同一个工作簿上打开/关闭。然后你应该看到try2.xls输出工作簿中的所有五个值,就像你期望的那样。