Apache POI error loading XSSFWorkbook class

127,150

Solution 1

Add commons-collections4-x.x.jar file in your build path and try it again. It will work.

You can download it from https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0

Solution 2

commons-collections4-x.x.jar definitely solve this problem but Apache has removed the Interface ListValuedMap from commons-Collections4-4.0.jar so use updated version 4.1 it has the required classes and Interfaces.

Refer here if you want to read Excel (2003 or 2007+) using java code.

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

Solution 3

Hurrah! Adding commons-collections jar files to my project resolved this problem. Two thumbs up to Lucky Sharma.

Solution: Add commons-collections4-4.1.jar file in your build path and try it again. It will work.

You can download it from https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1

Solution 4

Please note that 4.0 is not sufficient since ListValuedMap, was introduced in version 4.1.

You need to use this maven repository link for version 4.1. Replicated below for convenience

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

Solution 5

Yeah, resolved the exception by adding commons-collections4-4.1 jar file to the CLASSPATH user varible of system. Downloaded from https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.1

Share:
127,150
Cameron Zach
Author by

Cameron Zach

Updated on September 27, 2021

Comments

  • Cameron Zach
    Cameron Zach almost 3 years

    I'm trying to write a program that works with Excel docs, but the HSSF format is too small for my requirements. I'm attempting to move to XSSF, but I keep getting errors when trying to use it.

    I managed to solve the first two by adding xmlbeans-2.3.0.jar and dom4j-1.6.jar to my program, but now this error is coming up, which doesn't seem to be resolved by adding the Apache commons jar available on the Apache website.

    The error is as follows:

    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
    
  • Gagravarr
    Gagravarr almost 8 years
    All Apache POI dependencies are also included in the binary download package!
  • Federico Traiman
    Federico Traiman over 7 years
    Totally correct, have to download this version. mvnrepository.com/artifact/org.apache.commons/…
  • Miklos Krivan
    Miklos Krivan over 7 years
    This helped me also many thx for it. I just have upgraded to POI 3.15 from 3.14 and identified that my XLSX exports are broken because of this. So I have changed the version from 4.0 to 4.1 and everything works well again.
  • Miklos Krivan
    Miklos Krivan over 7 years
    See Anshu Kumar's answer below. The 4.0 version is not enough you need Apache Collections 4.1 version to solve this problem. I have checked.
  • Yogesh Sanchihar
    Yogesh Sanchihar over 5 years
    Namaskar mitro, commons-collections4-x.x.jar does not have ExtendedProperties.java, while commons-collections3-x.x.jar does not have LinkValuedMap.java. How did you overcome that?
  • Daniel Firebanks-Quevedo
    Daniel Firebanks-Quevedo over 3 years
    Thank you for this! I was using VSCode and adding this to pom.xml helped :)