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

通过java将数据追加到xlsx文件中,java,apache-poi,Java,Apache Poi,我正在使用ApachePOI写入.xlsx文件。我可以写入.xlsx文件,但无法附加新内容。如何在.xlsx文件中添加新内容 我的代码是: public static void write(){ try { Workbook[] wbs = new Workbook[]{new XSSFWorkbook()}; Workbook workbook=wbs[0]; org.apache.poi.ss.usermodel.

我正在使用ApachePOI写入
.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) {
    }
}
publicstaticvoidwrite(){
试试{
工作簿[]wbs=新工作簿[]{new XSSFWorkbook()};
工作簿=wbs[0];
org.apache.poi.ss.usermodel.Sheet Sheet=workbook.createSheet();
System.out.println(sheet.getSheetName());
Row Row=sheet.createRow(2);

对于(int i=0;i如果要追加,则应打开现有文件,而不是创建新文件,另请参见此stackoverflow问题:


你要做的第一件事:

使用Excel2007格式时,使用XSSF实现更明智,因为您使用过抽象实现。在使用任何实现时,请始终记住这一点

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

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

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

什么类型的内容?单元格?列?工作表?以及关于无法-由于错误/异常或您需要其他知识?