`
阅读更多
一、问题背景
今天使用jxl.jar包解析excle时,发现一个错误。运行以下程序时会提示如下错误:jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:99)
at jxl.read.biff.File.<init>(File.java:113)
at jxl.Workbook.getWorkbook(Workbook.java:243)
at jxl.Workbook.getWorkbook(Workbook.java:228)
at com.ssm.test.LAAgentTest.testReadExcel2003

代码如下:
@Test
	public void testReadExcel2003()  {
	try {
			String path = "e:/class.xlsx";
			InputStream ins = new FileInputStream(path);
			jxl.Workbook tWorkbook = jxl.Workbook.getWorkbook(ins);
			jxl.Sheet sheet = tWorkbook.getSheet(0);
			System.out.println("第一个工作簿的名称是:"+sheet.getName());
			int rows = sheet.getRows();
			for(int i=0; i<rows; i++) {
				if(i<2) {
					continue;
				}
				jxl.Cell[] cells = sheet.getRow(i);
				for(int j=0; j<cells.length; j++) {
					System.out.println(cells[j].getContents());
				}
			}
		} catch(Exception ex) {
			ex.printStackTrace();
		}
		
	}


二、解决办法
后来发现是因为jxl不支持2007版excle的解析。因此,打开class.xlsx文件后,选择另存为,保存类型选择2003版本。将代码中的class.xlsx改为另存为excle的名称,运行程序没有问题。

三、使用apache的poi.jar解析excle,兼容2003和2007

废话不说,直接上代码:
@Test
public void testReadExcel2007() {

     try {
			String path = "e:/class.xlsx";
			InputStream ins = new FileInputStream(path);
			Workbook wb = WorkbookFactory.create(ins);
			Sheet sheet = wb.getSheetAt(0);
			int columnNum = sheet.getRow(0).getLastCellNum() - sheet.getRow(0).getFirstCellNum();
			for (int j = 0; j < sheet.getLastRowNum(); j++) {
				Row row = sheet.getRow(j);
				for (int i = 0; i < columnNum; i++) {
					Cell cell = row.getCell(i, Row.CREATE_NULL_AS_BLANK);
					System.out.println(cell);
				}
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
	}



分享到:
评论

相关推荐

    java 解析Excel 并判断解析的数据类型__Eclipse工程

    在Java编程环境中,解析Excel文件是一项常见的任务,特别是在数据处理、数据分析或自动化测试等领域。Eclipse作为Java开发的主流IDE,提供了丰富的工具和支持来完成这项工作。本项目名为"java 解析Excel 并判断解析...

    java解析excel并做数据有效性校验

    1. **Java解析Excel库** 在Java中,有多个库可以用来解析Excel文件,如Apache POI、JExcelAPI、SimpleExcel等。Apache POI是目前最广泛使用的库,支持`.xls`和`.xlsx`格式,功能强大且稳定。我们将主要讨论使用...

    java解析excel表格

    Java解析Excel表格是一种常见的任务,尤其在数据处理和分析领域。Java提供了多种库来支持Excel文件的读取和写入,比如Apache POI、JExcelAPI、OpenCSV等。这里我们将重点讨论Apache POI,这是一个广泛使用的开源库,...

    java解析Excel

    java解析Excel

    java解析Excel文件并把数据存入数据库和导出数据为excel文件SpringBoot代码示例

    1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....

    java解析Excel文件jar包

    Java解析Excel文件主要依赖于Apache POI库,这是一个开源项目,专门为处理Microsoft Office格式的文件而设计。在Java中,Apache POI提供了丰富的API,使得开发者可以方便地读取、写入Excel(.xls和.xlsx)文件。在这...

    Java解析Excel的opi.jar包

    Java解析Excel是一项常见的任务,特别是在数据处理和报告生成的场景中。`poi.jar`库是Apache POI项目的一部分,这是一个开源的Java API,专门用于处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。在Java...

    java解析excel并导入数据库的web工程

    回答csdn论坛:Java语言下excel导入到mysql数据库表...

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架.rar

    JAVA解析Excel工具EasyExcel Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存&#xff0c;poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题&#xff0c;但...

    java解析excel2007源码

    Java解析Excel 2007源码主要涉及的是对Microsoft Office Open XML (OOXML) 格式的处理,这种格式主要用于xlsx文件。OOXML是Excel 2007及更高版本默认使用的存储格式,它以XML为基础,将数据以更结构化的方式存储在多...

    java解析excel源码

    Java解析Excel源码主要涉及到的是使用Java处理Microsoft Excel文件的技术,这一技术在数据处理、数据分析以及报表生成等场景中非常常见。在这个过程中,我们通常会使用Apache POI库,这是一个强大的开源API,专为...

    java 解析 excel 程序

    Java使用poi的jar包解析excel,里面有个ExcelUtil工具类, 非常实用,里面有main函数可以测试,导入到eclipse里面就可以运行, 有测试excel文件,需要的jar都在里面, 导入就可以运行.

    java解析excel文件源码

    Java解析Excel文件是Java开发中常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常使用两种主要格式:老式的`.xls`(BIFF8格式)和较新的`.xlsx`(OOXML格式)。本示例关注的是`.xls`格式,因为...

    java解析EXCEL文件实例

    总的来说,Java解析Excel文件的核心在于理解Apache POI库提供的各种类和方法,以及如何利用它们来处理Excel文件中的数据。通过这个实例,你可以开始构建自己的Excel处理功能,无论是简单的数据读取还是复杂的业务...

    java 解析excel jar包

    在Java编程环境中,解析Excel文件是一项常见的任务,特别是在数据处理和数据分析领域。针对Excel 2003和2007格式,Java提供了多种库来实现这一功能,其中Apache POI是一个广泛使用的开源库。标题提到的"java 解析...

    文件上传,java解析excel和csv 转javabean

    本篇文章将深入讲解如何使用Java解析Excel(包括Excel 2003和2007格式)和CSV文件,并将解析的数据映射到Java Bean,以便后续的数据处理和存储。 首先,我们需要了解如何在Java中处理文件上传。在Servlet环境中,...

    POI java解析EXCEL

    【标题】:POI Java解析EXCEL 在Java开发中,处理Excel文件是常见的需求,Apache POI项目提供了一个强大的工具库,使得开发者能够轻松地读取、写入以及操作Microsoft Office格式的文件,尤其是Excel(.xlsx和.xls)...

Global site tag (gtag.js) - Google Analytics