`
jwinder
  • 浏览: 27320 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jxl读取一个7M的Excel文件内存益出,网上找遍也找不到解决方案

    博客分类:
  • JAVA
阅读更多
jxl读取一个7M的Excel文件内存益出,网上找遍也找不到解决方案

根据客户要求,需要把Excel里的企业证书信息导入到数据库去,我用jxl读取这个EXCEL,然后报错。
如:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space


这个时候我就有点郁闷了,一开始还以为是eclipse JVM内存不够,然后改了一下eclipse.ini的内存
-vmargs
-Xms200m
-Xmx600m
-XX:PermSize=64M
-XX:MaxPermSize=128M


然后再运行,还是内存溢出,然后我看了一下文件,这个EXCEL文件有7M多,我删除了一部分数据,变成4M多,然后再运行程序,还是内存溢出,接着我换了一个小文件试,运行结果是没有报错。

所以问题出在EXCEL文件太大,但是有没有办法解决这个java.lang.OutOfMemoryError问题吗?

程序代码:
public class ReadExcel {

	public void readExcelBook()
	{
		// 我们先想想一下读取步骤,不管是什么样的Excel操作框架必定都要经历
		// 1选取Excel文件,2选择工作簿,3选择Cell,4读取信息。
		try {
			////通过Workbook的静态方法getWorkbook选取Excel文件
			Workbook book = Workbook.getWorkbook(new File(this.getClass().getResource("/").getPath() + "Book2.xls"));
			// //通过Workbook的getSheet方法选择第一个工作簿(从0开始)
			Sheet sheet = book.getSheet(0);
			////通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)
			Cell cell = sheet.getCell(1, 1);
			// 通过Cell的getContents方法把单元格中的信息以字符的形式读取出来
			String con = cell.getContents();
			System.out.println(con);
			
			book.close();
		} catch (BiffException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	public static void main(String[] args) {
		
		ReadExcel read = new ReadExcel();
		read.readExcelBook();
	}
}
分享到:
评论
13 楼 jzyangbb 2013-02-21  
解决了吗? 我也配到过
12 楼 hotboy10001000 2011-04-08  
建议不要用jxl进行读取,最好用jacob,直接调用本地Excel进行读取。我读取过1G的文件,变态吧。
11 楼 kingkongguo 2011-03-21  
真的想知道如何解决,系统超过二百多行数据,读取就会放慢卡死系统,怎么办?
难道真的要换阿帕奇的么?有知道如何解决的么?
10 楼 jwinder 2010-12-05  
tcl1122 写道
楼主
两年过去了 这问题解决了吗?
小弟我又走上这条老路了。

解决了,等我有空把代码发上来
9 楼 tcl1122 2010-12-03  
楼主
两年过去了 这问题解决了吗?
小弟我又走上这条老路了。
8 楼 fable0618 2010-11-30  
赐教....
7 楼 moneyclear 2010-05-07  
请教楼主,现在同样遇到这个问题,不知道事隔这么长时间,楼主有解决办法了么?
6 楼 alosin 2010-03-22  
我遇到读取15K的Excel文件报内存溢出错误,我的运行环境是在tomcat + hibernate + spring的Web运用
5 楼 jwinder 2009-08-25  
xgs_1983 写道
今天我遇到相同的问题了.



解决了吗?现在是个什么情况?
4 楼 jwinder 2009-08-25  
jwinder 写道
我晕,尽然没有人回贴,也没有人知道?

解决了吗?你什么问题?
3 楼 xgs_1983 2009-08-25  
今天我遇到相同的问题了.
2 楼 xgs_1983 2009-08-25  
今天我遇到人相同的问题了.
1 楼 jwinder 2009-03-04  
我晕,尽然没有人回贴,也没有人知道?

相关推荐

    java利用jxl读取excel文件

    `jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这一功能。 首先,确保你已经正确地将`jxl.jar`文件添加到你的项目类路径中。这可以...

    操作Excel文件(读取和生成)jxl和poi

    JXL和Apache POI是两个广泛使用的库,分别提供了对Excel文件的读取和生成的支持。本篇文章将深入探讨这两个库的使用方法及其特点。 首先,JXL是一个Java API,主要用于读写Excel 97-2003格式的工作簿,即.xls文件。...

    JXL 读取EXCEL

    标题 "JXL 读取EXCEL" 涉及到的是使用Java Excel Library(简称JXL)这个开源库来处理Microsoft Excel文件。JXL是一个强大的工具,它允许开发者在Java程序中读取、写入和修改Excel文件。下面将详细介绍JXL库以及如何...

    java读取excel文件POI+jxl

    在Java中,读取和操作Excel文件是常见的需求,这通常涉及到使用库,如Apache POI和JXL。这两个库都允许开发者在Java中方便地读取、写入和修改Excel文件。 Apache POI是一个强大的库,专门用于处理Microsoft Office...

    jxl读取Excel文件

    NULL 博文链接:https://zhouyq.iteye.com/blog/272883

    利用jxl读取Excel代码的完整内容,包括jar包

    本篇将详细介绍如何利用jxl库读取Excel文件,并提供一个完整的代码示例。 首先,jxl库提供了一个方便的API,让我们能够轻松地与Excel文件交互。要使用jxl,你需要下载jxl.jar文件,并将其添加到你的项目类路径中。...

    jxl操作excel文件

    ### jxl操作Excel文件知识点详解 ...虽然 jxl 的功能相比 Apache POI 较为简单,但对于简单的 Excel 文件操作而言,它是一个轻量级且高效的解决方案。在实际开发过程中,您可以根据项目的具体需求选择合适的工具。

    使用jxl读取Excel表格数据

    "使用jxl读取Excel表格数据"这个主题就是关于如何利用jxl库来实现这一目标。jxl是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得在Java中操作Excel变得简单。 首先,你需要获取jxl的jar包。由于...

    Jxl和poi读取写入excel

    Jxl是Java Excel API的简称,它是一个轻量级的库,专门用于读取和写入Excel文件。Jxl支持.xls格式,但不支持.xlsx格式。使用Jxl读取Excel文件的基本步骤如下: 1. 引入Jxl库:在项目中添加jxl.jar依赖。 2. 创建...

    jxl模版生成excel

    JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可读取Excel数据并转换为Java对象。 **描述解析:** 描述中提到的"采用类似EL表达式的方式...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用...

    jxl 读取Excel模板并写入数据通用工具类

    JXL库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件,而无需依赖Microsoft Office。本文将详细讨论如何使用JXL库创建一个通用的工具类来读取Excel模板并填充数据。 首先,我们需要了解JXL库的...

    jxl.jar excel读取jar包

    `jxl.jar`库是一个流行的选择,它允许Java程序方便地读取和写入Microsoft Excel文件。这个库是Java Excel API(JExcel API)的一部分,由Pentaho公司提供。`jxl.jar`库支持多种Excel功能,包括单元格格式、公式处理...

    用jxl下载excel文件

    JXL(Java Excel API)是一个开源的Java库,用于读取、写入和修改Excel文件。它支持多种Excel文件格式,包括XLS和XLSX等。 ##### 2. Java网络编程基础 在本例中,我们将使用`java.net.URL`和`java.net....

    JXL使用模板通过el表达式生成excel文件

    JXL(Java Excel API)是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种操作,包括创建新的Excel工作簿,读取现有的工作簿,修改单元格内容,以及设置样式等。JXL库因其简单易用的API...

    jxl 读取2003 excel demo

    这个示例会读取指定路径的Excel文件,打印出第一个工作表的所有数据。请注意替换"your_file_path.xls"为实际文件路径。 在实际开发中,你可能需要根据业务需求进行更复杂的操作,例如筛选特定数据、处理日期和数字...

    利用jxl操作excel文件

    `jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要...

    jxl导出excel总结

    jxl库正是解决这一问题的关键,它允许Java程序创建、读取和修改Excel文件,极大地拓展了Java在数据处理上的能力。 jxl库是由JExcelAPI项目提供的,它是一个开源的Java库,专门用于处理Microsoft Excel文件。在本文...

    JXL(Java操作Excel文件Oracle数据库)

    而当涉及到Excel文件的处理时,JXL库是一个广泛使用的Java库,它允许开发者读取、写入以及修改Excel文件。本篇文章将深入探讨如何利用JXL库在Java环境下操作Excel文件,并将其数据与Oracle数据库进行交互。 首先,...

Global site tag (gtag.js) - Google Analytics