jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法
2016-07-28 18:17
281 查看
合并文件夹下所有.xls文件,用jxl来编写程序报错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文件解析。
下面针对方法二进行说明:
1.在文件目录下,右键文件打开方式选择记事本,看到文件为html格式,而且文件中出现“=E5=B9=B48=E6=9C=88=E8=87=B3”格式内容,可通过Quated-Printable解码解决这个问题,参考2(http://www.bkjia.com/Javabc/546185.html).
2.本人项目如果参考2程序,中文输出依旧乱码,解决方式把最后返回的字符串改为:
这样可输出正常的中文编码。
3.对得到的字符串解析,本人采用Jsoup包进行解析,可以得到想要的内容并对excel写操作,这是可以使用.jxl操作。
原因有二:
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文件解析。
下面针对方法二进行说明:
1.在文件目录下,右键文件打开方式选择记事本,看到文件为html格式,而且文件中出现“=E5=B9=B48=E6=9C=88=E8=87=B3”格式内容,可通过Quated-Printable解码解决这个问题,参考2(http://www.bkjia.com/Javabc/546185.html).
2.本人项目如果参考2程序,中文输出依旧乱码,解决方式把最后返回的字符串改为:
return new String(buffer.toByteArray());
这样可输出正常的中文编码。
3.对得到的字符串解析,本人采用Jsoup包进行解析,可以得到想要的内容并对excel写操作,这是可以使用.jxl操作。
相关文章推荐
- 使用Python生成Excel格式的图片
- Excel 曝出 Power Query 安全漏洞,1.2 亿用户易受远程 DDE 攻击
- VBA将excel数据表生成JSON文件
- excel vba 限制工作表的滚动区域代码
- excel vba 高亮显示当前行代码
- C#控制Excel Sheet使其自适应页宽与列宽的方法
- SQL 导入导出Excel数据的语句
- 文本、Excel、Access数据导入SQL Server2000的方法
- C#实现Excel动态生成PivotTable
- C#基于COM方式读取Excel表格的方法
- C#导出数据到Excel文件的方法
- Vbscript生成Excel报表的常用操作总结
- C#开发教程之利用特性自定义数据导出到Excel
- C#实现导入CSV文件到Excel工作簿的方法
- C#基于NPOI生成具有精确列宽行高的Excel文件的方法
- 总提示[Microsoft][ODBC Excel Driver] 数值字段溢出官方解决方法
- C#实现DataSet内数据转化为Excel和Word文件的通用类完整实例
- C#将Sql数据保存到Excel文件中的方法
- 简单讲解C语言中宏的定义与使用
- C/C++ 宏详细解析