【问题标题】:Apache POI ClassNotFoundExceptionApache POI ClassNotFoundException
【发布时间】:2016-09-02 15:43:37
【问题描述】:

我正在使用 eclipse 尝试从 excel 电子表格中获取工作表列表,但是当我运行它时,Java 会引发异常。

这里是代码;

File myFile = new File("excel.xlsx");
    Workbook wb = null;
    try {
        wb = WorkbookFactory.create(myFile);
    } catch (EncryptedDocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InvalidFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    List<String> sheetNames = new ArrayList<String>();
    for (int i=0; i<wb.getNumberOfSheets(); i++) {
        sheetNames.add( wb.getSheetName(i) );
    }
    System.out.println(sheetNames);

这是日志;

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject
    at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:293)
    at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252)
    at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:231)
    at com.cogentautomation.view.View.main(View.java:19)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject
    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)
    ... 4 more

我已将以下内容作为库包含在 eclipse java 构建路径中;

  • 公用编解码器
  • 公共日志记录
  • junit
  • log4j
  • poi
  • poi-ooxml
  • poi 便签本

我知道解决方案很简单,但我的大脑一片空白。我没有使用 Maven。

【问题讨论】:

    标签: java eclipse apache-poi


    【解决方案1】:

    您需要添加 XMLBeans 依赖项。您可以从这里 https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans/2.6.0 包含依赖项

    【讨论】:

      【解决方案2】:

      正如异常消息告诉您的,您需要XMLBeans 库。 Poi 可能依赖它。

      如果您使用的是 Gradle 或 Maven 等依赖项管理工具,它会自动包含在内。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-04
        • 2015-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多