【问题标题】:POI - Can't open xslx files in osgiPOI - 无法在 osgi 中打开 xlsx 文件
【发布时间】:2015-05-12 12:11:20
【问题描述】:

尝试在 osgi (jboss-fuse) 中读取 xlsx 文件时出现下一个异常。 Xls 工作正常。

使用包中的下一个 jar 文件:

<br>
lib/xml-apis-1.0.b2.jar, \<br>
lib/poi-scratchpad-3.9-20121203.jar, \<br>
lib/poi-3.9-20121203.jar, \<br>
lib/dom4j-1.6.1.jar, \<br>
lib/poi-ooxml-schemas-3.9-20121203.jar, \<br>
lib/poi-ooxml-3.9-20121203.jar, \<br>
lib/xmlbeans-2.3.0.jar, \<br>
lib/poi-excelant-3.9-20121203.jar, \<br>
lib/xmlbeans-xpath-2.3.0.jar   <br>

117-org.apache.camel.camel-core - 2.12.0.redhat-610379 | ** org.apache.poi.openxml4j.exceptions.InvalidFormatException: 无法读取内容类型部分!
在 org.apache.poi.openxml4j.opc.internal.ContentTypeManager.(ContentTypeManager.java:107) 在 org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.(ZipContentTypeManager.java:56) 在 org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:188) 在 org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:665) 在 org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:274) 在 org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:79)

【问题讨论】:

  • 为什么要混合不同版本的 POI jar?您似乎有 3.9、3.10 和 3.11 POI jar 的令人讨厌的组合,完全不受支持并且可能会以奇怪的方式破坏!
  • 谢谢。实际上,这个 lib 混乱是经过多次尝试使其工作的。

标签: java excel osgi apache-camel apache-poi


【解决方案1】:

因此,在捆绑包的 META-INF/services 下添加下一个文件“org.xml.sax.driver”会有所帮助。 文件内容: org.apache.xmlbeans.impl.piccolo.xml.Piccolo

将 poi 更新到最新版本 3.11 修复了没有该文件的问题:

lib/poi-scratchpad-3.11.jar,\
lib/poi-3.11.jar,\
lib/poi-ooxml-schemas-3.11.jar,\
lib/poi-ooxml-3.11.jar,\
lib/poi-excelant-3.11.jar,\
lib/xmlbeans-2.6.0.jar,\
lib/xmlbeans-xpath-2.6.0.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多