java - 如何在 Java 中使用 Apache POI 创建 Excel 电子表格时修复 NoClassDefFoundError?

标签 java apache-poi

我刚刚开始学习 Apache POI,我想在 Excel 中制作一个 super 简单的电子表格,就像这样,

+----------+----------+----------+----------+----------+
|    1     |    2     |    3     |    4     |    5     |
+----------+----------+----------+----------+----------+

我写的代码如下,

public void exportTable() throws IOException
{
    FileOutputStream fos=new FileOutputStream(new File("C:\\Users\\*****\\OneDrive\\Desktop\\excel.xlsx"));
    XSSFWorkbook wb=new XSSFWorkbook();
    XSSFSheet ws=wb.createSheet();
    XSSFRow row=ws.createRow(0);
    for(int i=0;i<=5;i++)
    {
        Cell cell=row.createCell(i);
        cell.setCellValue(i);
    }
    wb.write(fos);
    fos.close();
}

我收到 NoClassDefFoundError

我正在使用以下 jar 文件。

1)poi-4.1.0.jar

2)poi-examples-4.1.0.jar

3)poi-excelant-4.1.0.jar

4)poi-ooxml-4.1.0.jar

5)poi-ooxml-schemas-4.1.0.jar

6)poi-scratchpad-4.1.0.jar

7)xmlbeans-3.1.0.jar

8)curvesapi-1.06.jar

我在 netbeans 上使用 jdk 1.8

附注我对 Apache POI 的经验几乎为零,因此如果您能写出详细的答案,我将不胜感激。谢谢

P.P.S。 我不知道 Maven

编辑:所以我改变了一些东西

1)我从“common-collections”导入了所有jar文件。

2)我将“.xls”更改为“.xlsx”

3)我还导入了“common-compress”,现在它工作得很好。谢谢!

最佳答案

错误消息指出: java.lang.NoClassDefFoundError:org/apache/commons/collections4/ListValuedMap

来自 Apache 的 commons-collections4 库。 https://commons.apache.org/proper/commons-collections/ 看来你的类路径上没有这个库。

对于 Maven,使用此依赖项:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.3</version>
</dependency>

关于java - 如何在 Java 中使用 Apache POI 创建 Excel 电子表格时修复 NoClassDefFoundError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56107659/

相关文章:

java - 在 Java 中使用变量调用类和方法

java - 使用 Apache POI 创建的 Docx 中的重复表段落

java - 如何读取 .doc 文件中的图像

java - 尽管将非空输入流传递给 WorkbookFactory 仍获取 EmptyFileException

java - Apache POI 正在设置错误的单元格字体

java - 简单的 Tika 型探测器和 Apache POI

java - 如何从xlsx文件中读取值,通过getter和setter将值存储到对象,最后存储到数组列表

java - 在没有类型的情况下使用 Java 泛型 - 泛型删除?

JavaFX 或 FXML。有什么不同?

java - 在一个表上 hibernate 两个 ManyToOne 关系,第一个获取 Eager,第二个加载 LAZY