最近遇到的一个问题,从系统中导出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) { } } }
相关推荐
"jxl.biff.drawing.dg"和"jxl.biff.drawingdg"则涉及到Excel文件内部的结构,BIFF(Binary Interchange File Format)是Excel的二进制文件格式,其中"drawing"部分与Excel的图形元素相关,"dg"可能是Drawing Group的...
本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...
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文档及使用方法"指的是一个Java库,名为JExcelAPI(通常简称为jxl),用于处理Excel文件。它包含了一个名为`jxl.jar`的可执行Java档案,这个档案集成了JExcelAPI的所有类和方法,使得开发人员...
import jxl.read.biff.BiffException; FileInputStream fis = new FileInputStream("path_to_your_file.xls"); Workbook workbook = Workbook.getWorkbook(fis); Sheet sheet = workbook.getSheet(0); // 获取第一...
2. **读取Excel文件**:`jxl.read.biff.Biff8Reader`是读取Excel文件的核心类。以下是一个简单的例子,展示如何读取Excel工作簿中的第一个工作表: ```java import jxl.Sheet; import jxl.Workbook; public class ...
jmeter在beanshell中创建Excel所需jar包-jxl.jar,有需要的伙伴欢迎可以下载,附脚本示例路径https://blog.csdn.net/m0_49009652/article/details/107690802
标题中的"jxl.jar和例子"表明了这个压缩包包含了一个名为"jxl.jar"的文件和相关的示例。这提示我们,这是一个关于使用Java处理Excel文件的资源包。jxl.jar是Java Excel API(JExcelApi)的一个版本,它是一个开源库...
`jxl.read.BiffRecord`类提供了读取Excel文件的能力。通过`Workbook`的静态方法`Workbook.getWorkbook(File)`,可以打开一个Excel文件进行读取。 在实际开发中,`jxl.jar`不仅可以用于数据导出,还可以用于数据...
【标题】"jxl.jar原版、修改后的jxl.jar解决web dynpro中乱码问题"涉及的关键技术点主要集中在两个方面:一是Java的jar包处理,二是Web Dynpro组件与Excel数据交互时的字符编码问题。下面将对这两个主题进行深入的...
"导入/导出Excel jxl.jar"是使用JExcelApi(通常简称为JXL)库的一个示例,这是一个开源Java库,允许开发者读取、写入和修改Excel文件。JXL.jar文件就是这个库的实现,它包含了所有必要的类和方法,使得开发者可以...
《jxl.jar包:Java处理Excel文件的利器》 在Java开发中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成等场景。这时,jxl.jar包便成为了一个不可或缺的工具。该包提供了全面的API,使得开发者可以...
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电子表格。这个库不仅支持读取Excel文件,还能创建新的工作簿,修改现有数据,以及将Java对象的数据导出到Excel格式。 jxl库的核心功能包括: 1. **创建新...
这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...
《深入理解Java库jxl.jar:操作Excel的利器》 在Java编程中,处理Excel文件是一项常见的任务,尤其是在数据导入导出、报表生成等领域。jxl.jar作为一个纯Java实现的库,为开发者提供了便捷的方式来读取和写入Excel...
《jxl.jar:Excel操作利器》 在信息技术领域,数据处理和分析是不可或缺的一部分,而Excel作为最常用的数据管理工具,其重要性不言而喻。对于开发者来说,能够高效地与Excel文件交互是提高工作效率的关键。这时,...
Java的JXL.jar库是Java开发人员用于读取和写入Microsoft Excel文件的重要工具。它提供了方便的API,使得在Java应用程序中处理Excel数据变得简单高效。JXL支持多种Excel功能,包括单元格格式化、公式计算、图表操作...
**Java Excel工具包——jxl.jar** 在Java编程中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成或数据分析等场景下。jxl.jar是一个专门为Java设计的库,它允许开发者轻松地读取、写入和修改Excel...
java操纵excel的jar包