2017-08-05 118 views
0

我用所有的POI罐子但我仍然AME收到此错误在java中使用apache poi阅读xlsx文件?不工作

Exception in thread "main" org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:456) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:162) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:271) at ReadExcel.readXLSXFile(ReadExcel.java:38) at ReadExcel.main(ReadExcel.java:69) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60) ... 5 more Caused by: java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source) at org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:46) ... 10 more Caused by: java.lang.ClassNotFoundException: org.apache.poi.POIXMLTypeLoader at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more

回答

0

听起来像是你没有正确的依赖于你的项目。 POIXMLTypeLoader自带POI 3.14-β1和OOXML-模式:1.3参考该class.You有以下几种选择,你可以在你的项目中添加这种依赖性任何:

  • 使用POI 3.14β1的

    <dependency> 
        <groupId>org.apache.poi</groupId> 
        <artifactId>poi</artifactId> 
        <version>3.14</version> 
    </dependency> 
    
  • 使用OOXML图式1.2

    <dependency> 
    <groupId>org.apache.poi</groupId> 
    <artifactId>poi-ooxml-schemas</artifactId> 
    <version>3.14</version> 
    </dependency> 
    
+0

将所有jar文件添加到您的项目中。 – Shrikant