POI异常处理:block[ 3 ] already removed
来源:互联网 发布:网络情报收集 编辑:程序博客网 时间:2024/05/29 19:34
1、问题表现:
小弟写的一个数据接口,用PHP导出Excel(2003格式),然后使用JAVA导入。导出的文件打开正常,但是使用poi的
org.apache.poi.hssf.usermodel.HSSFWorkbook.HSSFWorkbook(InputStream s) throws IOException
方法读取文件流时报错,错误信息如下:block[ 3 ] already removed - does your POIFS have circular or duplicate block references?
2、分析
网上查不到有用资料,但经测试发现:
1)导出的文件可用Excel正常打开,说明导出本身不存在严重错误。
2)经试验,此文件在Excel中另存后(什么都不改,只修改存储路径),POI可正常读取。
3) 起初怀疑PHP导出时设置有问题,但多方测试未发现错误点。
4)后怀疑php、jdk、poi以及office等相关组件兼容性有问题,尝试分别升级。
3、解决:
poi从3.1.1升级至3.1.6后问题解决
留档备忘。
0 1
- POI异常处理:block[ 3 ] already removed
- 异常处理commit already called
- 处理异常getAttribute: Session already invalidated
- java操作excel异常处理-poi处理excel异常
- poi处理2007以上版本HSSFWorkbook异常
- hdfs 上面block有异常处理流程
- getOutputStream() has already been called for this response 异常处理
- 异常Address already in use: JVM_Bind的处理
- java.lang.IllegalStateException: Fragment already added异常的处理
- java.lang.IllegalStateException: Fragment already added ListFragment异常的处理
- java.lang.IllegalStateException: Fragment already added异常的处理
- Android java.lang.IllegalStateException: Fragment already added异常的处理
- java.lang.IllegalStateException: Fragment already added异常的处理
- 使用Indy组件出现 Already connected. 异常的处理方法
- java.lang.IllegalStateException: Fragment already added异常的处理
- getOutputStream() has already been called for this response异常处理
- removed
- PostgreSQL:“ FATAL: requested WAL segment00800002A0 has already been removed”
- mysql 批量将某表的多个字段为null的替换为空串''
- Linux学习第一单元-虚拟机的自动安装
- 我的JAVA开发之路之SpringBoot+Mybatis
- 二叉树的最小深度
- WinEdt修改快捷键
- POI异常处理:block[ 3 ] already removed
- 不以输出为目的的学习都是耍流氓
- Hadoop 2.6.0 安装笔记
- 【IMWeb训练营作业】todolist小作业
- 微商软文标题怎么写才吸引人?
- Cisco Packet Tracer 实验教程
- 欢迎使用CSDN-markdown编辑器
- Cascade CNN
- Linux常用指令大全