读入Excel报jxl.read.biff.BiffException: Unable to recognize OLE stream
来源:互联网 发布:茂日软件登录 编辑:程序博客网 时间:2024/06/05 08:28
最近遇到的一个问题,从系统中导出Excle后,修改excel的某些字段内容,然后再导入Excel,通过jxl读取Excel,出现jxl读文件异常
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
- at jxl.read.biff.File.<init>(File.java:127)
- at jxl.Workbook.getWorkbook(Workbook.java:221)
- at jxl.Workbook.getWorkbook(Workbook.java:198)
说明导入的excel不是jxl认定的标准的OLE file,可是打开的看起来是Excle,然后我把这个Excel重新另存为一个Excel,发现他默认的保存类型是“单个文件网页”(通过EditPlus打开Excle可以看到是网页文件),然后把他保类型修改为Microsoft Office Excel,保存导入,就可以正确导入了。
另外一个可能的原因是:excel的版本问题
但是也可以不是通过另存为的方式,来进行导入。
1、读入Excel是按文本方式读入
2、导出Excel,按照符合jxl的方式导出
- public void outPutExcel(List<InvoiceRequisitionSo> result,HttpServletResponse response ){
- OutputStream os = null;
- try{
- os = response.getOutputStream();
- }catch (IOException el){
- }
- response.reset();
- response.setHeader("Content-disposition", "attachment; filename=InvoiceRequisitionListToExcel.xls");
- response.setContentType("application/msexcel");
- WritableWorkbook wwb=null;
- WritableSheet ws=null;
- WritableCellFormat cellFormat = new WritableCellFormat();
- WritableCellFormat cellFormatContent = new WritableCellFormat();
- WritableFont font= new WritableFont(WritableFont.createFont("宋体"),10, WritableFont.NO_BOLD);
- WritableFont font1= new WritableFont(WritableFont.createFont("宋体"),10, WritableFont.NO_BOLD);
- try{
- wwb = Workbook.createWorkbook(os);
- ws = wwb.createSheet("总部发票申请", 0);
- font.setColour(Colour.WHITE);
- WritableCellFormat cellFormatContentt = new WritableCellFormat(font);
- font1.setColour(Colour.RED);
- WritableCellFormat cellFormatContentred = new WritableCellFormat(font1);
- ws.getSettings().setDefaultColumnWidth(18);
- //设置单元格格式
- cellFormat.setBackground(Colour.GRAY_25);
- cellFormat.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
- cellFormatContent.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
- cellFormatContentt.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
- int i = 0;
- for (InvoiceRequisitionSo so : result) {
- ws.addCell(new Label(0,i,so.getInvoice(),cellFormatContentred ));
- //合并单元格
- ws.mergeCells(1, i , 2, i );
- ws.addCell(new Label(1, i, so.getEno(), cellFormatContent));
- i++;
- }
- }catch (Exception e){
- } finally{
- try {
- wwb.write();
- wwb.close();
- os.close();
- } catch (Exception e) {
- }
- }
- }
0 0
- 读入Excel报jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl导入Excel报jxl.read.biff.BiffException: Unable to recognize OLE stream
- 使用jxl读取excel报错记录:jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl.read.biff.BiffException: Unable to recognize OLE stream:
- jxl.read.biff.BiffException: Unable to recognize OLE stream解决方法
- jxl.read.biff.BiffException: Unable to recognize OLE stream
- java读取Excel 错误: jxl.read.biff.BiffException: Unable to recognize OLE stream
- java读取Excel 错误: jxl.read.biff.BiffException: Unable to recognize OLE stream
- java读取Excel 错误: jxl.read.biff.BiffException: Unable to recognize OLE stream
- java读取Excel 错误: jxl.read.biff.BiffException: Unable to recognize OLE stream
- java读取Excel 错误: jxl.read.biff.BiffException: Unable to recognize OLE stream
- java解析excel文件出错jxl.read.biff.BiffException: Unable to recognize OLE stream
- jxl.read.biff.BiffException: Unable to recognize OLE stream原因及解决方法
- jxl读取excel文件异常:Unable to recognize OLE stream
- jxl读取excel文件异常:Unable to recognize OLE stream
- iOS开发- UICollectionView详解+实例
- Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法
- C 语言运算符优先级
- 浅谈并发服务器--多进程并发型--1
- VC bug修改 MFC apps must not #include <windows.h>
- 读入Excel报jxl.read.biff.BiffException: Unable to recognize OLE stream
- HDU 1205 吃糖果
- poj 3750 小孩报数问题 (约瑟夫问题)
- 关于Eclipse中原配Android模拟器卡机的问题
- hdu2222Keywords Search字典树入门……
- 黑马程序员---面向对象的开发方法
- C++经典面试题库 附带参考答案
- 视图导航页面的制作
- showModalDialog打开的页面需要跳转或刷新