Summary: | Parse Errors for application/vnd.ms-excel | ||
---|---|---|---|
Product: | POI | Reporter: | Javier <jaavni> |
Component: | HSSF | Assignee: | POI Developers List <dev> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | jaavni |
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All | ||
Attachments: |
Example test_dropbox_selected.xls
Example test_dropbox_NO_selected.xls |
Created attachment 37120 [details]
Example test_dropbox_NO_selected.xls
Found the problem. Will fix shortly. |
Created attachment 37119 [details] Example test_dropbox_selected.xls We are trying to extract content from old Excel files using TIKA and we have encountered this error. If the excel file has a dropbox WITH any element selected, Apache Tika returns this exception, but if we deselect the element and save it, Tika extracts the content without any problem: Exception in thread "main" org.apache.tika.exception.TikaException: Unexpected RuntimeException from org.apache.tika.parser.microsoft.OfficeParser@37ddb69aException in thread "main" org.apache.tika.exception.TikaException: Unexpected RuntimeException from org.apache.tika.parser.microsoft.OfficeParser@37ddb69a at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:282) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:143) at testTika.ExtractContent(testTika.java:183) at testTika.main(testTika.java:170)Caused by: org.apache.poi.util.RecordFormatException: Leftover 7 bytes in subrecord data [15, 00, 12, 00, 12, 00, 01, 00, 11, 20, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 0C, 00, 14, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 06, 00, 00, 00, 10, 00, 01, 00, 13, 00, EE, 1F, 10, 00, 09, 00, 00, 00, 00, 00, 25, 04, 00, 0A, 00, 05, 00, 05, 00, 05, 07, 00, 00, 00, 18, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00] at org.apache.poi.hssf.record.ObjRecord.<init>(ObjRecord.java:112) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) I've attached 2 documents to test.