zoukankan      html  css  js  c++  java
  • 读取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的时候就出了问题,这时候我们只能把问题抛给客户,客户提出问题以后,让他去根据具体行列将无效超链接问题自行解决了。

  • 相关阅读:
    UART中RTS、CTS
    Verdi:内存不足
    SV学习之interface
    perl学习之:@_ $_
    perl学习之:package and module
    代码变成可执行程序期间,编译器做了那些事?
    perl学习之:use & require
    perl学习之:use and require
    8位二进制补码表示整数的最小值是什么,最大值是什么
    深入理解计算机系统
  • 原文地址:https://www.cnblogs.com/songyunxinQQ529616136/p/6599523.html
Copyright © 2011-2022 走看看