当我尝试从excel文件中读取时,我得到ClassNotFoundException

时间:2017-02-11 15:30:57

标签: 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;
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

1 个答案:

答案 0 :(得分:1)

您需要在构建路径中添加commons-collections4-x.x.jar文件并再次尝试。它应该工作。

从这里获取:https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0

另外,只需加起来:
您主要得出此错误(NoClassDefFoundError)有两个原因:

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

  2. 如果某个类在编译期间存在但在运行时期间在java类路径中不可用。