加载XSSFWorkbook类的Apache POI错误

Cam*_*ach 43 java apache apache-poi xssf

我正在尝试编写一个与Excel文档一起使用的程序,但HSSF格式对于我的要求来说太小了.我正在尝试迁移到XSSF,但是在尝试使用它时我一直都会遇到错误.

我设法通过将xmlbeans-2.3.0.jar和dom4j-1.6.jar添加到我的程序来解决前两个问题,但现在出现了这个错误,似乎没有通过添加Apache commons jar来解决Apache网站.

错误如下:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    at hot.memes.ExcelCreator.main(ExcelCreator.java:66)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

luc*_*rma 46

在构建路径中添加commons-collections4-xxjar文件并再次尝试.它会工作.

您可以从https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0下载它

  • 请参阅下面的Anshu Kumar的回答.4.0版本是不够的,你需要Apache Collections 4.1版本才能解决这个问题.我检查过. (5认同)
  • 所有 Apache POI 依赖项也包含在二进制下载包中! (2认同)

小智 24

commons-collections4-xxjar肯定解决了这个问题,但是Apache已经从commons-Collections4-4.0.jar中删除了Interface ListValuedMap,所以使用更新版本4.1它具有所需的类和接口.

如果您想使用Java代码阅读Excel(2003或2007+),请参阅此处.

http://www.codejava.net/coding/how-to-read-excel-files-in-java-using-apache-poi

  • 完全正确,必须下载此版本.https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1 (5认同)
  • 这对我来说也很有帮助.我刚刚从3.14升级到POI 3.15,并确定我的XLSX导出因此而中断.所以我已经将版本从4.0更改为4.1,一切都运行良好. (3认同)

小智 15

欢呼!将commons-collections jar文件添加到我的项目中解决了这个问题.两个赞许幸运夏尔马.

解决方案:在构建路径中添加commons-collections4-4.1.jar文件并再次尝试.它会工作.

您可以从https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1下载它


Hop*_*ing 9

请注意,自4.1版本中引入了ListValuedMap以来,4.0还不够.

您需要使用版本4.1的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>
Run Code Online (Sandbox Code Playgroud)


小智 5

是的,通过将 commons-collections4-4.1 jar 文件添加到系统的 CLASSPATH 用户变量来解决异常。从https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1下载