读取excel的时候,异常信息The hyperlink for cell A2 references relation rId1, but that didn't exist!


1异常信息如下Read excel fail,contact the administrator,please!java.lang.IllegalStateException: The hyperlink for cell X108 references relation rId40, but that didn't exist

 

原因是在excel文件中,包含了特殊字符

!#$%$#^%$#^%$&%^*&^*(*&(&*) 
!@#$%^&*()_+{}|:""<>?!@#¥%……&*()——+{}|:

但是我仔细测试了一下,我的数据如下

 

另外,在读取数据的时候,并不能准确的告诉客户哪一行有问题,这是最要命的

java代码如下:

FileInputStream fileStream=new FileInputStream(file);
BufferedInputStream buf=new BufferedInputStream(fileStream);
xssfWorkbook = new XSSFWorkbook(buf);//这里会报错,原因是数据格式有问题,不能直接在原字体上修改格式,而是重新起一行粘贴

 

 

最终得知问题原因:

是因为这一行数据加入了无效超链接样式。必须手动将超链接去掉

 

注意提示中有这么一行:X108 这时候就要去X列寻找108行,这一行的无效超链接移除就可以解决问题了。

poi已经提示了无效超链接的具体行列,这是最好的一点。不过这个问题我也是后来才发现的,在创建book的时候就出了问题,这时候我们只能把问题抛给客户,客户提出问题以后,让他去根据具体行列将无效超链接问题自行解决了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM