Closed obiscr closed 3 years ago
**我的提示是对的,文件为空,还有**
Objects.requireNonNull(Thread.currentThread().getContextClassLoader(). getResource("issue.xls")).getPath();
这个是jdk7的吧,建议使用jdk8+
ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));
读取为流
我的JDK用的是11,按照你给出的方法测试了,依然是同样的错误。 问题并不在文件的读取方式。
把您的文档传一下 我新建的 报错都是说的空白文件
我把项目传到github: https://github.com/obiscr/common-test.git
其实空白的或者非空白的文件我都有遇到这个问题,只是为了测试,我就新建了空白文件。 然后我之前用的是 5.3.7 的版本,后面升级到了最新版 5.6.4 依然存在此问题。同时 poi-ooxml 也升级到了最新版测试了一下,但是依旧如此。
我试了您的文档 的确显示报错,但是为啥您的文档大小这么大
issue.xlsx test.xlsx 您试下 我的test,不知道您用什么建立的文档,我使用Ms Office
空的报错很正常,但是添加就不会报错,而您提供的,貌似还是没读到数据
我用的也是 MS Office 2019,然后您刚才发我的这两个文档,打开就没有问题。 这种情况,感觉跟Office的版本有关系。有的Office创建的文件,有问题。有的 没问题。
根据我测试的结果,ExcelReader.readAll()
方法 打开空文档会有问题。
正常来说,空文档的话返回的数据结构式完整的,只是里面没有数值。
然而现在是解析的时候出了异常。
然后 我测试下 另存为您的文档 就没事了 所以就很奇怪 您的版本是kms激活的吗 还是秘钥
密钥激活的
某些空Excel的结束行是-1,导致的报错,我这里加个判断吧。
感谢issue。
5.6.5修复此问题。
版本情况
JDK版本: oracke jdk-11.0.10 hutool版本: 5.6.4(最新版本依然有问题)
问题描述(包括截图)
新建一个空白的xls文件或者xlsx文件。然后构建成ExcelReader对象, 之后直接调用readAll方法(),即可复现。 点击查看错误截图
堆栈信息
测试涉及到的文件(注意脱密) 新建空白的 xls 或者 xlsx 文件即可。