You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2003/12/22 17:09:05 UTC
DO NOT REPLY [Bug 25702] New: -
HSSF outofmemory exception on 1000 x 50 sheet
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25702>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25702
HSSF outofmemory exception on 1000 x 50 sheet
Summary: HSSF outofmemory exception on 1000 x 50 sheet
Product: POI
Version: 1.5.1
Platform: Other
OS/Version: Linux
Status: NEW
Severity: Critical
Priority: Other
Component: HSSF
AssignedTo: poi-dev@jakarta.apache.org
ReportedBy: bshen@lehman.com
Hello, i am using:
redhat linux enterprise
weblogic6.1
java 1.3.1
When generating a 1000+ row x 54 col excel sheet using HSSF, the java servlet
throws an outofmemory exception everytime (if i do one with 600 rows or less,
it works fine). This is the first time i am using hssf and I followed the
tutorial code:
HSSFRow title = sheet.createRow((short)0);
title.createCell((short)0).setCellValue("columnname1");
title.createCell((short)1).setCellValue("columnname2");
......etc.....
title.createCell((short)54).setCellValue("columnname53");
ResultSet rs = getresultset();
int rowcount=1;
rs = executeQuery(sql); //get resultset, leftout some jdbc codes
while (rs.next()) //has 1000+ rows
{
HSSFRow datarow = sheet.createRow((short)rowcount);
rowcount++;
for(int colcount=0; colcount<55;colcount++)
{
datarow.createCell((short)colcount).setCellValue(rs.getString
(colcount+1));
}
}
Here's memory usage log file from 2 tries, both resulted in outofmemory:
[GC 13773K->10735K(32640K), 0.0287972 secs]
<Dec 22, 2003 10:04:35 AM EST> <Debug> <DEBUG> <*********************FIRST FOR
LOOP:0>
......
<Dec 22, 2003 10:07:04 AM EST> <Debug> <DEBUG> <CELL COUNT:50 CELL
VALUE:0> //*****Note this row never finished, cell count should reach 54 like
every other row.
[Full GC 32639K->29327K(32640K), 1.8477303 secs]
[Full GC 29327K->29289K(32640K), 1.8480125 secs]
<Dec 22, 2003 10:07:08 AM EST> <Error> <HTTP> <[WebAppServletContext
(2438883,yyy,/yyy)] Servlet failed with Exception
java.lang.OutOfMemoryError
<<no stack trace available>>
--------------
[GC 11797K->8490K(32640K), 0.0076758 secs]
[GC 11818K->8461K(32640K), 0.0067751 secs]
<Dec 22, 2003 10:15:11 AM EST> <Debug> <DEBUG> <*********************FIRST FOR
LOOP:0>
.......
<Dec 22, 2003 10:17:12 AM EST> <Debug> <DEBUG> <CELL COUNT:54 CELL VALUE:0>
[Full GC 30728K->27639K(32640K), 1.7628752 secs]
[Full GC 32457K->28945K(32640K), 2.1956773 secs]
[Full GC 28945K->28945K(32640K), 1.7103354 secs]
<Dec 22, 2003 10:17:19 AM EST> <Error> <HTTP> <[WebAppServletContext
(2438883,yyy,/yyy)] Servlet failed with Exception
java.lang.OutOfMemoryError
<<no stack trace available>>
>From the log it seems the machine is not out of memory? I am really not sure
what is going on with hssf now. Please help, thank you
gaga
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: poi-dev-help@jakarta.apache.org