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>