求jxl OutOfMemory错误解答
做excel导出,数据很多,列也很多。估计现在行*列的值在140万,以后会更加的多。由于项目要求,必须全部导出表中的数据。但我用jxl发现,当数据多时,会报OutOfMemory的错误。我做过一个test测试,jxl处理500000没有问题,但处理1000000就会出现OutOfMemory错误了。
可以肯定是jxl的问题,但我不明白怎么jxl没有对象释放的方法呢???
测试代码:
jxl.write.WritableWorkbook wwb = null;
jxl.write.Label labelC = null;
try {
wwb = Workbook.createWorkbook(new File("c:\\1.xls"));
for(int i=0;i<50000;i++) {
wwb = Workbook.createWorkbook(os);
for(int j=0;j<100;j++) {
labelC = new jxl.write.Label(j, i, "This is a Label cell1");
}
}
wwb.write();
}
catch (Exception e)
{
System.out.println(e);
}
finally {
try {
os.close();
wwb.close();
}
catch(Exception e) {
System.out.println(e);
}
}