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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23138307/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 21:01:12  来源:igfitidea点击:

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

javaexcelmavenclassnotfoundexception

提问by ansioncai

I was running:

我之前在跑步:

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

I get the error:

我收到错误:

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

I have imported these packages:

我已经导入了这些包:

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

They depend on Maven pom.xml like this:

他们像这样依赖于 Maven pom.xml:

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

回答by pupik

I got this error because of version difference between poi(3.9) and poi-ooxml(3.10). Check your versions. The correct one for me:

由于 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>

回答by Eyal Sooliman

I am using the following and it works just fine:

我正在使用以下内容并且效果很好:

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>

回答by Moegamat

This annoying problem is resolved by rebuilding the project to get the jars in the classpath

这个烦人的问题是通过重新构建项目以获取类路径中的 jars 来解决的

回答by Ashesh pratap Singh

 <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>