我正在使用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) {
}
}
答案 0 :(得分:7)
你要做的第一件事:
当您使用Excel 2007格式时,使用XSSF-Implementations更明智,因为您已经使用了抽象实现。使用任何实现时都要记住这一点。
要附加到现有文件,您需要到达该特定工作簿表中的行的末尾。这可以通过以下方式实现:
int rows = sheet.getPhysicalNumberOfRows(); // or sheet.getLastRowNum();
之后,您可以使用XSSF- Implementation类创建新单元格。有关更多信息,请参阅this page
答案 1 :(得分:3)
如果要追加,您应该打开现有文件而不是创建新文件,另请参阅此stackoverflow问题: