Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我试图从excel文件读取时,我得到ClassNotFoundException_Java_Excel_Exception - Fatal编程技术网

Java 当我试图从excel文件读取时,我得到ClassNotFoundException

Java 当我试图从excel文件读取时,我得到ClassNotFoundException,java,excel,exception,Java,Excel,Exception,当我尝试使用apace poi从excel文件中读取时,我得到了ClassNotFoundException,随后是其他错误,并且我已经在参考库中导入了所有必要的jar文件 顺便说一下,我对编码还是个新手 代码如下: import java.io.*; import java.io.File; import java.io.FilterInputStream; import java.io.FileNotFoundException; import java.io.IOException; im

当我尝试使用apace poi从excel文件中读取时,我得到了ClassNotFoundException,随后是其他错误,并且我已经在参考库中导入了所有必要的jar文件

顺便说一下,我对编码还是个新手

代码如下:

import java.io.*;
import java.io.File;
import java.io.FilterInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.*;
import org.apache.poi.*;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Test {

public static void main(String[] args) throws IOException  {
    // TODO Auto-generated method stub


FileInputStream F = new FileInputStream("Carbcounting.xlsx");

    XSSFWorkbook wb = new XSSFWorkbook(F);

    XSSFSheet sheet = wb.getSheetAt(0);

    FormulaEvaluator formulaEva = wb.getCreationHelper().createFormulaEvaluator();

    for(Row row : sheet){
        for(Cell cell : row){

            System.out.print(cell.getStringCellValue());


            }

        }
        System.out.println();

    }

}
下面是我尝试运行它时遇到的所有错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    at project.Test.main(Test.java:28)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

您需要在构建路径中添加commons-collections4-x.x.jar文件,然后重试。它应该会起作用

从这里获取:

另外,加起来:
出现此错误(NoClassDefFoundError)的主要原因有两个:

  • Java虚拟机无法在运行时找到编译时可用的特定类

  • 如果类在编译时存在,但在运行时java类路径中不可用


  • 您肯定导入了所有您在类“测试”中显然需要自己的类。但是错误消息告诉您,ApachePOI还需要org.Apache.commons包。你的项目中也导入了这个吗?我想不是。这就是你的CNFE的原因。