java - apache poi SXSSFWorkbook - java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
问题描述
我想使用 apache poi SXSSFWorkbook 类制作 excel 文件。
我正在使用void write(OutputStream stream) throws IOException
Workbook 界面中的方法。
但是发生了错误。错误信息是
java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:377)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:131)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:98)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:684)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:728)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:343)
at org.apache.poi.openxml4j.opc.StreamHelper.saveXmlInStream(StreamHelper.java:80)
at org.apache.poi.openxml4j.opc.internal.marshallers.ZipPartMarshaller.marshallRelationshipPart(ZipPartMarshaller.java:174)
at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:466)
at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1441)
at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:201)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.write(SXSSFWorkbook.java:883)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at H0000000000000971615427686681096.writeFile(H0000000000000971615427686681096.groovy:223)
at H0000000000000971615427686681096$writeFile.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
at H0000000000000971615427686681096.run(H0000000000000971615427686681096.groovy:108)
at groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:402)
我正在使用没有 DocumentImpl.getXmlStandalone() 方法的 xercesImpl-2.4.0.jar 版本。
而且我无法升级 xercesImpl 版本(因为副作用)。
如何使用 xercesImpl-2.4.0.jar 编写 excel 文件?
poi 版本就像那个 poi-3.12.jar
poi-ooxml-3.12.jar
poi-ooxml-schemas-3.12.jar
解决方案
我通过更改工作簿实施解决了
SXSSFWorkbook -> HSSFWorkbook
推荐阅读
- javascript - matter.js 空白屏幕,没有加载
- flutter - 添加边距时,BottomAppBar CircularNotchedRectangle 未居中
- swiftui - SwiftUI如何显示弹出框
- dask - 长时间运行的工作人员阻止 GIL 超时错误
- jquery - Heroku 部署错误:无法解析 jquery
- rest - Rest API 设计:为什么路径变量比正文更受青睐
- list - dart 中的列表映射实际上是如何工作的?
- angular - 在通用组件中呈现输入组件的简单方法
- python - 使用 SQL 查询插入数据的 Python 函数
- opencl - OpenCL,了解 VectorAdd 程序