]> source.dussan.org Git - poi.git/commitdiff
When removing a SXSSF sheet, ensure temp files associated with it are disposed of...
authorNick Burch <nick@apache.org>
Wed, 29 Apr 2015 19:28:26 +0000 (19:28 +0000)
committerNick Burch <nick@apache.org>
Wed, 29 Apr 2015 19:28:26 +0000 (19:28 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1676833 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java

index 79d2cc83b7494fd94431c18ba6fd2356fcd81af2..e3a0363dedb06b3cdf68d839885ddb5f7b0d98ea 100644 (file)
@@ -709,9 +709,16 @@ public class SXSSFWorkbook implements Workbook
     @Override
     public void removeSheetAt(int index)
     {
-        XSSFSheet xSheet=_wb.getSheetAt(index);
+        // Get the sheet to be removed
+        XSSFSheet xSheet = _wb.getSheetAt(index);
+        SXSSFSheet sxSheet = getSXSSFSheet(xSheet);
+        
+        // De-register it
         _wb.removeSheetAt(index);
         deregisterSheetMapping(xSheet);
+        
+        // Clean up temporary resources
+        sxSheet.dispose();
     }
 
     /**