`
llmy
  • 浏览: 120923 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

读入Excel报jxl.read.biff.BiffException: Unable to recognize OLE stream

 
阅读更多

最近遇到的一个问题,从系统中导出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) {

            }
        }
}

 

分享到:
评论
2 楼 llmy 2013-12-20  
caomeiliang 写道
1、读入Excel是按文本方式读入
2、导出Excel,按照符合jxl的方式导出

请问第一条是什么意思

导入的excel不是jxl认定的标准的OLE file时,导入通过数据流的方式读取文件,读取文件内容
1 楼 caomeiliang 2013-11-18  
1、读入Excel是按文本方式读入
2、导出Excel,按照符合jxl的方式导出

请问第一条是什么意思

相关推荐

    jxl.zip_excel_jxl_jxl.biff.drawing.dg_jxl.biff.drawingdg

    "jxl.biff.drawing.dg"和"jxl.biff.drawingdg"则涉及到Excel文件内部的结构,BIFF(Binary Interchange File Format)是Excel的二进制文件格式,其中"drawing"部分与Excel的图形元素相关,"dg"可能是Drawing Group的...

    Java操作Excel(jxl.jar)

    本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...

    解决JXL调用copySheet()和importSheet()方法时报异常的jar包

    at jxl.write.biff.WritableSheetCopier.shallowCopyCells(WritableSheetCopier.java:499) [jxl.ja r:na] at jxl.write.biff.WritableSheetCopier.copySheet(WritableSheetCopier.java:239) [jxl.jar:na] at ...

    jxl.jar和jxl.api文档及使用方法

    标题"jxl.jar和jxl.api文档及使用方法"指的是一个Java库,名为JExcelAPI(通常简称为jxl),用于处理Excel文件。它包含了一个名为`jxl.jar`的可执行Java档案,这个档案集成了JExcelAPI的所有类和方法,使得开发人员...

    Java对Excel的操作(附jxl.jar).rar

    import jxl.read.biff.BiffException; FileInputStream fis = new FileInputStream("path_to_your_file.xls"); Workbook workbook = Workbook.getWorkbook(fis); Sheet sheet = workbook.getSheet(0); // 获取第一...

    jxl.jar_java操作excel表格的jar包

    2. **读取Excel文件**:`jxl.read.biff.Biff8Reader`是读取Excel文件的核心类。以下是一个简单的例子,展示如何读取Excel工作簿中的第一个工作表: ```java import jxl.Sheet; import jxl.Workbook; public class ...

    jmeter-Excel-jxl.zip

    jmeter在beanshell中创建Excel所需jar包-jxl.jar,有需要的伙伴欢迎可以下载,附脚本示例路径https://blog.csdn.net/m0_49009652/article/details/107690802

    jxl.jar和例子

    标题中的"jxl.jar和例子"表明了这个压缩包包含了一个名为"jxl.jar"的文件和相关的示例。这提示我们,这是一个关于使用Java处理Excel文件的资源包。jxl.jar是Java Excel API(JExcelApi)的一个版本,它是一个开源库...

    excel 导出用的jxl.jar

    `jxl.read.BiffRecord`类提供了读取Excel文件的能力。通过`Workbook`的静态方法`Workbook.getWorkbook(File)`,可以打开一个Excel文件进行读取。 在实际开发中,`jxl.jar`不仅可以用于数据导出,还可以用于数据...

    jxl.jar原版、修改后的jxl.jar解决web dynpro中乱码问题

    【标题】"jxl.jar原版、修改后的jxl.jar解决web dynpro中乱码问题"涉及的关键技术点主要集中在两个方面:一是Java的jar包处理,二是Web Dynpro组件与Excel数据交互时的字符编码问题。下面将对这两个主题进行深入的...

    导入/导出excel jxl.jar

    "导入/导出Excel jxl.jar"是使用JExcelApi(通常简称为JXL)库的一个示例,这是一个开源Java库,允许开发者读取、写入和修改Excel文件。JXL.jar文件就是这个库的实现,它包含了所有必要的类和方法,使得开发者可以...

    jxl.jar包最新jar包亲测可用

    《jxl.jar包:Java处理Excel文件的利器》 在Java开发中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成等场景。这时,jxl.jar包便成为了一个不可或缺的工具。该包提供了全面的API,使得开发者可以...

    使用jxl.jar 对Excel 进行读写

    import jxl.read.biff.BiffException; try { Workbook workbook = Workbook.getWorkbook(new File("yourfile.xls")); // ... } catch (BiffException | IOException e) { e.printStackTrace(); } ``` 2. 获取...

    jxl.jar----java导出数据到excel

    jxl.jar库为Java开发者提供了一个方便的接口来操作Excel电子表格。这个库不仅支持读取Excel文件,还能创建新的工作簿,修改现有数据,以及将Java对象的数据导出到Excel格式。 jxl库的核心功能包括: 1. **创建新...

    使用jxl.jar在Android中操作Excel表格

    这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...

    jxl.jar没费下载

    《深入理解Java库jxl.jar:操作Excel的利器》 在Java编程中,处理Excel文件是一项常见的任务,尤其是在数据导入导出、报表生成等领域。jxl.jar作为一个纯Java实现的库,为开发者提供了便捷的方式来读取和写入Excel...

    jxl.jar excel操作包

    《jxl.jar:Excel操作利器》 在信息技术领域,数据处理和分析是不可或缺的一部分,而Excel作为最常用的数据管理工具,其重要性不言而喻。对于开发者来说,能够高效地与Excel文件交互是提高工作效率的关键。这时,...

    java的jxl.jar

    Java的JXL.jar库是Java开发人员用于读取和写入Microsoft Excel文件的重要工具。它提供了方便的API,使得在Java应用程序中处理Excel数据变得简单高效。JXL支持多种Excel功能,包括单元格格式化、公式计算、图表操作...

    jxl.jar包(java导入导出Excel文件)

    **Java Excel工具包——jxl.jar** 在Java编程中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成或数据分析等场景下。jxl.jar是一个专门为Java设计的库,它允许开发者轻松地读取、写入和修改Excel...

    java操纵excel的jar包(jxl.jar包 源码)

    java操纵excel的jar包

Global site tag (gtag.js) - Google Analytics