通过java将数据附加到xlsx文件中

时间:2010-07-05 08:10:15

标签: java apache-poi

我正在使用Apache POI写入.xlsx文件。我可以写入.xlsx文件,但我无法添加新内容。如何在.xlsx文件中添加新内容?

我的代码是:

public static void write(){
    try {           
        Workbook[] wbs = new Workbook[]{new XSSFWorkbook()};
        Workbook workbook=wbs[0];
        org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet();
        System.out.println(sheet.getSheetName());
        Row row = sheet.createRow(2);
        for(int i=0;i<10;i++){
               Cell cell=row.createCell(i);
               cell.setCellValue("Sun System");
        }
        FileOutputStream fout=new FileOutputStream("D:/Test.Xlsx");
        workbook.write(fout);
        fout.close();
    } catch (Exception e) {
    }
}

2 个答案:

答案 0 :(得分:7)

你要做的第一件事:

当您使用Excel 2007格式时,使用XSSF-Implementations更明智,因为您已经使用了抽象实现。使用任何实现时都要记住这一点。

要附加到现有文件,您需要到达该特定工作簿表中的行的末尾。这可以通过以下方式实现:

int rows = sheet.getPhysicalNumberOfRows(); // or sheet.getLastRowNum();

之后,您可以使用XSSF- Implementation类创建新单元格。有关更多信息,请参阅this page

答案 1 :(得分:3)

如果要追加,您应该打开现有文件而不是创建新文件,另请参阅此stackoverflow问题:

Edit existing excel files using jxl api / Apache POI