2013-02-19 161 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); 
      } 
     }  
}