首页 文章

使用Apache POI创建新工作表将删除所有现有工作表

提问于
浏览
2

我尝试使用Apache poi库将新工作表添加到现有的excel文件中,如下面的代码所示 .

FileOutputStream fileOut = new FileOutputStream(new File(BASE_PATH+outputFile));

            Workbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Splitted Rules");

            Set<String> tags = outputRules.keySet();
            int i = 0;
            for (String tag : tags) {
                List<String> rules = outputRules.get(tag);
                for (String rule : rules) {
                    Row row = sheet.createRow(i++);
                    row.createCell(0).setCellValue(tag);
                    row.createCell(1).setCellValue(rule);
                }
            }

            wb.write(fileOut);
            fileOut.close();
            wb.close();`

问题是文件中的所有工作表都被删除,只存在新工作表 .

这是什么问题?

1 回答

  • 1

    评论已暗示解决方案 .

    上面的代码创建一个新工作簿并覆盖任何现有文件 .

    如果要将工作表附加到现有工作簿,请使用WorkbookFactory.create方法(或具有相应参数的XSSFWorkbook构造函数)基于现有excel文件创建工作簿 .

相关问题