尝试在 osgi (jboss-fuse) 中读取 xlsx 文件时出现下一个异常。 Xls 工作正常。
使用 bundle 内的下一个 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: Can't read content types part !
at org.apache.poi.openxml4j.opc.internal.ContentTypeManager.(ContentTypeManager.java:107) at org.apache.poi.openxml4j.opc.internal.ZipContentTypeManager.(ZipContentTypeManager.java:56) at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:188) at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:665) at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:274) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:79)
最佳答案
因此,在 bundle 中的 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
关于java - POI - 无法在 osgi 中打开 xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28974171/