在工作簿中删除工作表后无法添加工作表

时间:2018-10-22 14:54:26

标签: excel apache-poi xssf

我想生成仅包含主工作簿中特定工作表的子工作簿。从主工作簿中删除多余的工作表以生成子工作簿时,我正在使用removeSheetAt()方法,在我的情况下,我必须从主模板中删除7个工作表才能生成子工作簿。生成子工作簿后,存在在生成的子工作簿中添加工作表并将内容复制到另一个新工作簿的问题。引发的错误是Excel Alert:此操作不适用于多个选择。

我认为这是由于从工作簿中删除了多张纸,我发现直到从工作簿中删除5张纸之前都没有抛出任何错误/警告。但是,如果删除5张以上,我将面临此错误。

for (int i = numberOfSheets - 1; i >= 0; i--) {
    final String sheetName = localeWorkbook.getSheetName(i);
    log.info("sheet name " + sheetName);
    if (some condition) {
        localeWorkbook.removeSheetAt(i);
        log.info("removed sheet " + sheetName + " at " + i);
    }
}

对此有何建议?

0 个答案:

没有答案