修改Excel文件中的文本

时间:2014-04-09 02:11:44

标签: java jxl

我想修改一个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();
}

1 个答案:

答案 0 :(得分:0)

它有效,但我不知道你是否在做你认为自己在做的事情。每次通过,我都看到try2.xls正在正确更新。问题是在下一个循环中,您再次读取原始文件try.xls,然后再次复制和写入。在5次迭代结束时,您会在相应的单元格中看到数字4,但不会看到0-3,因为这些文件现在已被覆盖。

应该在update方法中移动循环,以便所有写入都在同一个工作簿上打开/关闭。然后你应该看到try2.xls输出工作簿中的所有五个值,就像你期望的那样。