java.lang.ClassNotFoundException:org.apache.poi.ss.formula.udf.IndexedUDFFinder

我之前在跑步:

Workbook workbook = new XSSFWorkbook([from a FileInputStream]); 

我得到的错误:

 java.lang.ClassNotFoundException: org.apache.poi.ss.formula.udf.IndexedUDFFinder 

我已经导入这些包:

 import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

它们依赖于Maven的pom.xml,像这样:

 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.10-FINAL</version> </dependency> 

我得到这个错误,因为poi(3.9)和poi-ooxml(3.10)之间的版本差异。 检查您的版本。 对我来说是正确的:

 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version> <type>jar</type> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.10-FINAL</version> <type>jar</type> </dependency> 

我正在使用以下,它工作得很好:

 import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

 InputStream myxls = new FileInputStream(fileName); XSSFWorkbook wb = new XSSFWorkbook(myxls); 

  <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version> </dependency>