2013-02-19 128 views
9

我必须从Excel文件中删除表格。使用Apache POI删除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; 

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

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

回答

12

编辑您的工作簿后,你需要再次写。试试这个: -

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

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

0
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); 
      } 
     }  
}