2013-02-19 15 views
9

Muszę usunąć arkusz z pliku Excel.Usuwanie arkusza Excela za pomocą Apache POI

Oto mój fragment kodu:

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; 

Po to jestem uzyskanie dokładnie tego samego skoroszytu, które mijałem, bez usuwania arkuszy „Setup”

Pomóż mi rozwiązać ten problem. Każda pomoc zostanie doceniona:

Odpowiedz

12

Po edycji skoroszytu należy go ponownie napisać. Spróbuj tego: -

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

Edit: - Po wpisaniu go z powrotem, można przywrócić 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); 
      } 
     }  
} 
Powiązane problemy