java.io.IOException : org/at org. apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:326)

标签 java excel apache-poi

当尝试从 excel2010 访问数据时出错。代码是...

public static void main(String[] args) {
    FileInputStream fis=new FileInputStream("D:\\Java Pgms\\Book1.xlsx");
    Workbook wk=  WorkbookFactory.create(fis);
    Sheet s=wk.getSheet("Sheet1");
    Row r= s.getRow(1);
    Cell c=r.getCell(0);
    String t=c.getStringCellValue();
    System.out.println(t);  
}

错误信息是

java.io.IOException: org/apache/commons/compress/archivers/zip/ZipFile
atorg.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:326)
   at org.apache.poi.ss.usermodel.WorkbookFactory.createXSSFWorkbook(WorkbookFactory.java:296)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:214)
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:180)
        at demoPack.Excell.main(Excell.java:21)
    Caused by: java.lang.NoClassDefFoundError: org/apache/commons/compress/archivers/zip/ZipFile
        at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:298)
        at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:129)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:314)
        ... 4 more
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.compress.archivers.zip.ZipFile
        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)
        ... 11 more

最佳答案

您错过了 Apache common-compress 依赖项。关于您正在使用的构建自动化工具,您可以将其包含为:

Maven 依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.14</version>
</dependency>

Gradle /Grails:

compile 'org.apache.commons:commons-compress:1.14'

Jar 文件:

如果你需要这个jar,你可以从Here下载它。


More Info:

Apache Commons Dependency Information

关于java.io.IOException : org/at org. apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:326),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53151988/

相关文章:

string - vba添加字符串和日期时缺少0

java - HSSFSheet 类型的 getCell(int) 方法未定义

java - Apache POI 行数

java - Excel 追加更新因 Apache POI 失败

java - AngularJS HTML5 模式 - 直接链接如何在没有服务器特定更改的情况下工作?

java - 无法实例化应用程序 java.lang.ClassNotFoundException

java - Eclipse Groovy DSLD 和静态编译

excel - 在 Excel 中查找与最大值关联的另一列中的单元格

excel - 我想检查 Excel 中相应单元格中文本的相似性

java - 如果等于 mustache 的条件