首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

向已存在的excel文件中增加数据,出现内存溢出解决方案

2012-03-04 
向已存在的excel文件中增加数据,出现内存溢出FileexcFilenewFile(exportFileName)if(excFile.exists()){

向已存在的excel文件中增加数据,出现内存溢出
File   excFile   =   new   File(exportFileName);
if   (excFile.exists()){
try   {
Workbook   newWorkBook   =   Workbook.getWorkbook(excFile);
this.writableWorkbook   =   Workbook.createWorkbook(excFile,newWorkBook);
}   catch   (BiffException   e)   {
throw   new   IOException(e.getMessage());
}
                }else{
                this.outputStream   =   new   FileOutputStream(exportFileName);
                this.writableWorkbook   =   Workbook.createWorkbook(this.outputStream);
                }

if(sheetName   ==   null)   {
this.writableSheet   =   writableWorkbook.createSheet( "Sheet1 ",   index);
}
else   {
this.writableSheet   =   writableWorkbook.createSheet(sheetName,   index);
}

向一个已存在有3万条记录的excel中增加数据时,在执行到this.writableWorkbook   =   Workbook.createWorkbook(this.outputStream);这句时出现内存溢出;我要在这个excel文件中开个新的sheet,再增加3万条记录

[解决办法]
我是加大JVM堆栈大小能实现20000条……不知道还有别的方法没
[解决办法]
你试着调大java的stack size的大小试试,具体的方法如下
设置一下stack size的大小 java 后跟参数即可设置,具体参数如下:
-Xms size set initial Java heap size
-Xmx size set maximum Java heap size
-Xss size set java thread stack size

[解决办法]
能不能分批的进行存储啊,每10000条写一次excel文件
[解决办法]
这个问题,似乎就楼上说的办法好。。
一次处理15000左右的数据,分多次处理把,,。。

热点排行