【问题标题】:JXL and Apache POI parsing excel with attached image objects带有附加图像对象的 JXL 和 Apache POI 解析 excel
【发布时间】:2009-09-21 23:21:22
【问题描述】:

我曾尝试使用 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)

使用 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 中,但没有加载到 open office 中,我在原始数据中唯一能看到的是 Adob​​e 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        ">

有什么方法可以忽略这个吗?我将如何解析这个文件。

谢谢。

【问题讨论】:

    标签: java excel ole apache-poi jxl


    【解决方案1】:

    尝试使用更新版本的 Apache POI - 此类错误会随着时间的推移而得到修复。

    如果最新版本的 POI 没有帮助(撰写本文时为 3.8 beta 2),您应该在 POI bugzilla 中打开一个新错误,并上传问题文件。您看到的异常是由 POI 认为应该有一定数量的数据并找到更多数据引起的。有了这个文件,就可以确定数据存在的原因,并解决它。 (也就是说,假设它还没有被修复!)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多