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

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();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值