当前位置: 首页 > 知识库问答 >
问题:

ApachePOI-给予NoClasseDelferor

雍兴修
2023-03-14

    public static void main(String [] args){
        String excelFilePath = "D:\\JavaBooks.xls";

        try {
            FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
            Workbook workbook = WorkbookFactory.create(inputStream);

            Sheet sheet = workbook.getSheetAt(0);

            Object[][] bookData = {
                    {"The Passionate Programmer", "Chad Fowler", 16},
                    {"Software Craftmanship", "Pete McBreen", 26},
                    {"The Art of Agile Development", "James Shore", 32},
                    {"Continuous Delivery", "Jez Humble", 41},
            };

            int rowCount = sheet.getLastRowNum();

            for (Object[] aBook : bookData) {
                Row row = sheet.createRow(++rowCount);

                int columnCount = 0;

                Cell cell = row.createCell(columnCount);
                cell.setCellValue(rowCount);

                for (Object field : aBook) {
                    cell = row.createCell(++columnCount);
                    if (field instanceof String) {
                        cell.setCellValue((String) field);
                    } else if (field instanceof Integer) {
                        cell.setCellValue((Integer) field);
                    }
                }

            }

            inputStream.close();

            FileOutputStream outputStream = new FileOutputStream("D:\\JavaBooks.xls");
            workbook.write(outputStream);
            workbook.close();
            outputStream.close();

        } catch (IOException | EncryptedDocumentException
                ex) {
            ex.printStackTrace();
        }
    }

}

在执行此代码时,它在线程"main"java.lang.NoClassDefFoundError: org/apache/Commons/math3/util/ArithmeticUtils在org.apache.poi.poifs.property.RootProperty.set大小(RootProperty.java:59)在org.apache.poi.poifs.property.DirectoryProperties.(DirectoryProperty.java:52)在org.apache.poi.poifs.property.RootProperties.(RootProperty.java:31)在org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:102)在org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:274)在org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252)在org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:221)在NewClass. main(NewClass. java: 31)引起的:java. lang. ClassNotFound异常:org. apache.公共品. math3. util. ArithmeticUtils在java. net. URLClassLoader. findClass(URLClassLoader. java: 381)在java. lang. ClassLoader. loadClass(ClassLoader. java: 424)在sun. misc. Launcher$AppClassLoader. loadClass(Launcher. java: 335)在java. lang. ClassLoader. loadClass(ClassLoader. java: 357)...9更多


共有1个答案

靳彦
2023-03-14

将Apache公有数学添加到您的依赖项。

例如在Maven中:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-math3</artifactId>
  <version>3.6.1</version>
</dependency>

更多选择:https://mvnrepository.com/artifact/org.apache.commons/commons-math3/3.6.1

关于ClassNotFoundErrors的更多信息可以在这里找到:为什么在Java中会出现NoClassDefFoundError?

 类似资料:
  • 只要一个动画,就可以带来生命。不幸的是,当设计师创建图标、logo 和吉祥物的时候,他们交付的通常都是图片或静态的 SVG。所以,虽然 GitHub 的章鱼猫、Twitter 的小鸟以及其它许多 logo 类似于生灵,它们看上去实际上并不是活着的。 Vue 可以帮到你。因为 SVG 的本质是数据,我们只需要这些动物兴奋、思考或警戒的样例。然后 Vue 就可以辅助完成这几种状态之间的过渡动画,来制作

  • 我有点迷失了 我试过3.17、4.0.0和5.0.0版。 或 我无法获得没有弃用或类型错误的代码:-( 我将Eclipe与Maven和Java11一起使用。在版本发布之后,我做了“更新项目”来更新Maven。

  • 在xlsx工作簿中,有些单元格具有一些无界的SUMIF公式,如下所示:。使用ApachePOI5.0.0对一个SUMIF函数的评估持续100ms,对给定工作簿的评估持续几分钟。 提高执行持续时间的一种方法是将公式绑定到如下内容:。在我的情况下,这不是一个解决方案,因为我不是xlsx文件的作者,系统从未知的人那里获取未知的xlsx文件(因此我不能仅仅告诉他们限制SUMIF范围)。 的当前实现迭代给定

  • 我使用这个查询在两个表上进行选择,然后将这两个结果添加到一个JSON对象中。这个问题给了我 Android数据库CursorIndexOutOfBoundsException:请求索引1,大小为1 行中的o.put(“mysqlsysid”,res.getString(res.getColumnIndex(“questionsysid”)) 问题: 为什么我得到这个错误。 如何解决这个错误。 欢迎

  • 我正在尝试用ApachePOI创建甜甜圈图,但没有任何信息或示例。我尝试使用饼图的例子,但没有成功。你能帮我解决这个问题吗?

  • 我对POI还是新手,但是我想简单地在Excel工作簿中迭代一列。例如,在下表中,如果我只想要列A的值,即列0中的行0-3,有没有有效的方法来做到这一点?我所看到的所有POI都是基于行的。 我有一些大的电子表格,我可以成功地遍历整个表格,但我只是想找出处理这种事情的最佳实践。 提前感谢。