删除使用Apache POI excel工作表(Delete an excel sheet usin

2019-08-17 01:27发布

我不得不删除Excel文件的纸张。

这里是我的代码片段:

FileInputStream fileStream = new FileInputStream(destFile);
POIFSFileSystem fsPoi = new POIFSFileSystem(fileStream);

HSSFWorkbook workbook = new HSSFWorkbook(fsPoi);

int index = 0;

HSSFSheet sheet = workbook.getSheet("Setup");
if(sheet != null)   {
    index = workbook.getSheetIndex(sheet);
    workbook.removeSheetAt(index);
}
return destFile;

在此之后,我恰好有我通过了同一工作簿,不去除表 “设置”

帮我解决这个问题。 任何帮助,将不胜感激

Answer 1:

编辑您的工作簿后,您需要重新写。 试试这个:-

FileOutputStream output = new FileOutputStream(destFile);
workbook.write(output);
output.close();

编辑 : -写回后,可以返回你的destFile



Answer 2:

private void removeOtherSheets(String sheetName, XSSFWorkbook book) {       
        for(int i=book.getNumberOfSheets()-1;i>=0;i--){
            XSSFSheet tmpSheet =book.getSheetAt(i);
            if(!tmpSheet.getSheetName().equals(sheetName)){
                book.removeSheetAt(i);
            }
        }       
}


文章来源: Delete an excel sheet using Apache POI