Bug 61987

Summary: Updating excel file opended with OPCPackage throws: OpenXML4JRuntimeException: Rule M2.4 exception
Product: POI Reporter: raja <cbenagaraj86>
Component: XSSFAssignee: POI Developers List <dev>
Status: RESOLVED DUPLICATE    
Severity: blocker    
Priority: P2    
Version: 3.16-FINAL   
Target Milestone: ---   
Hardware: PC   
OS: All   
Attachments: ExcelFileUpdateExample1.java
inputfile

Description raja 2018-01-10 13:30:41 UTC
Created attachment 35669 [details]
ExcelFileUpdateExample1.java

Exception in thread "main" org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception : this error should NEVER happen! If you can provide the triggering file, then please raise a bug at https://bz.apache.org/bugzilla/enter_bug.cgi?product=POI and attach the file that triggers it, thanks!
	at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.getContentType(ContentTypeManager.java:340)
	at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.removeContentType(ContentTypeManager.java:253)
	at org.apache.poi.openxml4j.opc.OPCPackage.removePart(OPCPackage.java:1016)
	at org.apache.poi.openxml4j.opc.PackagePart.getOutputStream(PackagePart.java:526)
	at org.apache.poi.xssf.usermodel.XSSFWorkbook.commit(XSSFWorkbook.java:1832)
	at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:390)
	at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:242)
	at test.ExcelFileUpdateExample1.main(ExcelFileUpdateExample1.java:68)
Comment 1 raja 2018-01-10 13:36:01 UTC
Created attachment 35670 [details]
inputfile
Comment 2 Alain Fagot Bearez 2018-01-10 17:38:20 UTC
Take care about the order you are closing the resources:


            FileOutputStream outputStream = new FileOutputStream("JavaBooks.xlsx");
            workbook.write(outputStream);
            outputStream.close();
            workbook.close();

            //inputStream.close();
            pkg.close();
 

Otherwise you are trying to write into a package (document) that has been closed.

This is a classical duplicate of https://bz.apache.org/bugzilla/show_bug.cgi?id=60102
Comment 3 Dominik Stadler 2018-02-08 19:50:27 UTC
Closing as duplicate of bug 60102 as it seems the order of close/write is wrong here.

*** This bug has been marked as a duplicate of bug 60102 ***