读取 excel 个文件时 Apache POI NoClassDefFoundError

Apache POI NoClassDefFoundError while reading excel files

我正在尝试 运行 此代码:

public class ExcelSimpleTest {
    public static void main(String[] args) throws  Exception {
          File f = new File("C:\Users\yaron\Desktop\Test.xlsx");
          FileInputStream fis = new FileInputStream(f);

          XSSFWorkbook wb=new XSSFWorkbook(fis);
          Sheet sheet=wb.getSheetAt(0);
          System.out.println(sheet.getRow(0).getCell(0).getStringCellValue());
    }

}

我收到此错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    at src.ExcelSimpleTest.main(ExcelSimpleTest.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
    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)
    ... 1 more

我在互联网上查看并复制了 Apache POI 文件,但不明白我的问题是什么。

您似乎错过了类路径中的 commons-collection4.jar。下载它并将其添加到您的类路径中。如果你使用 maven,你可以添加

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.1</version>
</dependency>

到你的 pom。

如果没有可以下载here