jdh*_*h80 5 java excel ole jxl apache-poi
我已经尝试使用JXL和Apache POI从excel文件加载数据,到目前为止JXL机制已经正常工作.即使我在文件中嵌入了图像.
我收到了一个不会解析的源文件,我在POI中得到以下异常
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)
Run Code Online (Sandbox Code Playgroud)
并且使用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)
Run Code Online (Sandbox Code Playgroud)
文件加载到excel但不进入开放办公室,我在原始数据中唯一可以看到的是Adobe XMP Core 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 ">
Run Code Online (Sandbox Code Playgroud)
有没有办法忽略这个?我将如何解析此文件.
谢谢.
可以尝试的一件事是使用较新版本的 Apache POI - 随着时间的推移,此类错误会得到修复。
如果最新版本的 POI 没有帮助(截至撰写本文时为 3.8 beta 2),您应该在 POI bugzilla 中打开一个新错误,并上传问题文件。您看到的异常是由 POI 认为应该有一定数量的数据并找到更多数据引起的。通过该文件,可以确定该数据存在的原因并解决它。(也就是说,假设它尚未修复!)
| 归档时间: |
|
| 查看次数: |
2142 次 |
| 最近记录: |