JXL和Apache POIparsing优于附加的图像对象

我曾尝试使用JXL和Apache POI从Excel文件加载数据,直到现在JXL机制工作正常。 即使我在文件中embedded图像。

我收到一个来源不会parsing的文件,我得到以下与POIexception

Exception in thread "main" org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException: Initialisation of record 0xE2 left 2 bytes remaining still to be read. at org.apache.poi.hssf.record.RecordInputStream.hasNextRecord(RecordInputStream.java:124) at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:402) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:277) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:202) at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:184) at testXlsParsers.main(TestXlsParsers.java:19) 

和jxl我得到一个索引越界

 Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:546) at java.util.ArrayList.get(ArrayList.java:321) at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:247) at ParserXLS.parse(ParserXLS.java:27) at ParserXLS.main(ParserXLS.java:46) 

该文件加载到Excel中,但没有到开放式办公室,我可以看到在原始数据唯一的事情是Adobe XMP核心4.1相关的对象…这似乎是问题的原因,如果我删除它的图像工作正常…如果我坚持另一个JPG的罚款。

 <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1-c036 46.277092, Fri Feb 23 2007 14:16:18 "> 

有没有办法忽略这个? 我将如何去parsing这个文件。

谢谢。

有一件事要尝试使用更新版本的Apache POI,像这样的错误会随着时间的推移而得到修复。

如果最新版本的POI没有帮助(截止撰写时为3.8 beta 2),您应该在POI bugzilla中打开一个新的bug,然后上传问题文件。 你看到的例外是由POI认为应该有一定数量的数据,并find更多。 通过该文件,可以确定数据在那里的原因并解决它。 (也就是说,假设它还没有被修复!)