jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法

版权声明:https://blog.csdn.net/Burgess_Lee https://blog.csdn.net/Burgess_Lee/article/details/83618465

今天创建了一个项目,计划从一堆excel批量导入数据的程序。但是发生了异常,jxl.read.biff.BiffException: Unable to recognize OLE stream。

原因有二: 
1. jxl包只支持excel03版,文件可能是07版本,可利用宏指令,对所有文件批量修改格式,可参考1: 
http://zhidao.baidu.com/link?url=d_lq286waS5fGQt0_NZBPhzaWn5V42ihn_mx0ulEifc6d1o1tMLrSjX3JG5y41uqe6hWmfRA5Bh_l75m5VCKFa. 
2. 文件不是标准的excel格式,可通过文件–>另存为方式查看该文件的保存类型,如果是“单个文件网页”类型,说明这是一个.html文件,不能使用jxl包操作,也不能使用POI操作。
 

看了一下自己的代码我的属于第二种情况。解决方法: 
1.如果是少量文件,可以把文件另存为excel标准格式,再使用jxl包操作。 
2.如果是大量文件,无法通过方法1来解决,这时可对html文件解析。

针对第二个问题,目前采用的方式是另存为标准的格式。

今后有其他解决方式再进行补充。

猜你喜欢

转载自blog.csdn.net/Burgess_Lee/article/details/83618465