今天,跟自己的一个小伙伴聊天.在得知他经常复制粘贴 excel 数据后.觉得试试 java 读取然后进行重复性工作.结果直接报如下错误.百度了好久都没找出是什么原因.但是我看他用 Python 可以直接读取.这就很尴尬了.谢谢大佬们的指点 Exception in thread "main" java.lang.IllegalArgumentException: targetUri invalid - http://invalid.uri at org.apache.poi.openxml4j.opc.PackagingURIHelper.resolvePartUri(PackagingURIHelper.java:427) at org.apache.poi.openxml4j.opc.PackageRelationship.getTargetURI(PackageRelationship.java:206) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:562) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:592) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:592) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:165) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:270) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:184) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:149) at com.sl.utils.office.excel.ExcelUtils.readExcelXlsx(ExcelUtils.java:101) at com.sl.utils.ExcelDemand.main(ExcelDemand.java:22)
1
CEBBCAT 2020-09-03 00:57:26 +08:00 via Android
读懂错误报告首先要明白错误报告的结构,堆栈信息是如何组织的,以及自己看看各部分信息如函数名、包名、文件名、行号是怎样影响错误日志的
你这个问题看起来像是传给函数 readExcelXlsx 的参数不对。发一下错误复现代码吧 |
3
wowo243 2020-09-03 06:53:51 +08:00 via Android
有没有可能是 poi 与 excel 版本对不上
|
4
wowo243 2020-09-03 06:54:11 +08:00 via Android
比如 xls 跟 xlsx 的区别
|
5
CEBBCAT 2020-09-03 10:06:09 +08:00
第几行就出错和我以及这个问题没什么关系,什么 Workbook 读取流直接报错听起来像是它欠了你几个亿。
问题就在那里,是等它变好还是主动 debug,看你的了。 如果问题描述得清晰,那你就能让没用过 org.apache.poi 的人结合官方文档、代码和示例找出你的问题。现在这样子只能让有 org.apache.poi 经验的人根据经验猜测你可能在什么地方犯了错误。 |
6
cryboy007 OP |
8
MeowOvO 2020-09-03 15:59:23 +08:00
你传的 path 是?
|