poi 3.8生成excel2007时,debug到Workbook wb =new XSSFWorkbook();这一行报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poi 3.8生成excel2007时,debug到Workbook wb =new XSSFWorkbook();这一行报错相关的知识,希望对你有一定的参考价值。
参考技术A 已经告诉你了,找不到spring-webmvc.jar文件,缺少jar包。来自:求助得到的回答 参考技术A 经过百度:下面是别人的成果。
使用POI库,在实例化XSSFWorkbook对象时(如图2),报 java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlOptions 的错误,经检查,是因为官方包里默认是不包含xmlbean.jar包的,需要自己添加xmlbeans-2.6.0.jar和dom4j-1.6.1.jar这两个包即可。我是解决了希望对你有帮助 参考技术B 楼主,我也报这个错了,找了好久没找到,,您现在解决了嘛?求答案 参考技术C 报什么错误啊??
看这个图没用啊追问
没报什么错...一debug进去就进这个截图页面
追答debug需要源代码
说明你没有spring-webmvc。jar的源代码
去官网下一个源代码包,然后点attach source按钮,选择下载下来的源码包就行了。这就可以看到源代码
org.apache.poi.ss.usermodel 包可以从多个模块访问:poi、poi.ooxm
【中文标题】org.apache.poi.ss.usermodel 包可以从多个模块访问:poi、poi.ooxm【英文标题】:The package org.apache.poi.ss.usermodel is accessible from more than one module: poi, poi.ooxm 【发布时间】:2019-01-25 09:01:22 【问题描述】:在此问题的所有参考资料中,它未已解决且不提供 maven,因为 not 在 maven 中进行操作。 错误是包org.apache.poi.ss.usermodel 可以从多个模块访问:poi, poi.ooxm 在两个错误中
我必须同时使用 poi 和 poi--ooxml,请运行此代码,我需要使用它。甚至此代码也是从互联网本身中提取的,并且有很多博客都显示了这种类型的代码,这是我的实际要求,但它不起作用。
【问题讨论】:
不要使用模块!只需将它们放在类路径上,而不是模块路径上 Apache POI does not yet fully support the Java 9 module system...as Apache POI currently uses the same package in different jar-files。但这仅仅是原因。我也没有解决办法。至少不使用 Eclipse,因为我没有使用那个 IDE。下一个apache poi
版本4.0
似乎避免了“在不同的jar 文件中使用相同的包”。
那怎么用呢。因为他们都是这个程序的强制要求。解决方案?
从 poi-ooxml - 3.17 切换到 poi-ooxml-4.1.2.jar 为我解决了这个问题。
【参考方案1】:
我遇到了同样的问题并找到了解决方案。这有点晚了,但可能会帮助其他面临同样问题的人。 在您的模块中删除“需要 poi”并保留需要 poi.ooxml;
module com.example.MyModlue
//other require statement goes here
requires poi.ooxml;
现在在你的代码中
代替使用 (CellType.NUMERIC) 导入 org.apache.poi.ss.usermodel.CellType;
获取单元格类型使用 (cell.getCellTypeEnum().NUMERIC) where cell if of type XSSFCell
import org.apache.poi.xssf.usermodel.XSSFCell;
希望这会有所帮助。 :)
【讨论】:
我使用var
类型推断来避免直接引用类型。【参考方案2】:
只需在模块类中将所有库添加到要求中
module MyProjct
requires poi;
requires poi.excelant;
requires poi.ooxml;
requires poi.ooxml.schemas;
【讨论】:
【参考方案3】:如果有人有同样的问题,只需下载新版本的 POI,旧版本与新版本的 java 不兼容
【讨论】:
以上是关于poi 3.8生成excel2007时,debug到Workbook wb =new XSSFWorkbook();这一行报错的主要内容,如果未能解决你的问题,请参考以下文章