使用Apache POI 4.1.1从excel文件读取值时出现java错误
我试图使用Apache POI从excel文件中读取值,遇到以下错误消息:
org.apache.poi.ooxml.POIXMLException: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:66) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:282) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:303) ~[poi-ooxml-4.1.1.jar:4.1.1]
at cfo.metrics.loading.MetricsMonthlyHelper.getIndvEventValues(MetricsMonthlyHelper.java:117) [lib/:?]
at cfo.metrics.loading.MetricsMonthlyHelper.getAllExcelValues(MetricsMonthlyHelper.java:2190) [lib/:?]
at cfo.metrics.loading.MetricsDBLoaderMonthly.main(MetricsDBLoaderMonthly.java:23) [lib/:?]
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_171]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_171]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_171]
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) ~[poi-ooxml-4.1.1.jar:4.1.1]
... 7 more
Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
at org.apache.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:86) ~[poi-ooxml-4.1.1.jar:4.1.1]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_171]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_171]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_171]
at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) ~[poi-ooxml-4.1.1.jar:4.1.1]
at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) ~[poi-ooxml-4.1.1.jar:4.1.1]
... 7 more
我正在为我的项目poi-4.1.1使用以下jar文件。jar,poi-ooxml-4.1.1。jar和poi-ooxml-schemas-4.1.1。罐子
是否有人遇到了上述错误,并能阐明其根本原因
# 1 楼答案
对于poi-ooxml-4.1.1。jar,您应该使用xmlbeans-3.1.0。jar,请参见: