poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 27286] - OutOfMemoryError when parsing broken file
Date Wed, 13 Jul 2005 08:02:29 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=27286>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=27286


boney_mampilli@yahoo.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |critical
           Priority|P3                          |P1




------- Additional Comments From boney_mampilli@yahoo.com  2005-07-13 10:02 -------
This is happening because the excel file that is being referenced is too large.
The way POI is working is that if anything needs to be done with an excel file, 
the entire file has to be read into memory first. This is where the problem is.
If the excel file is very large...  i.e. the workbook contains lots of sheets 
of data with lots of rows and columns, the ENTIRE data would first be read into 
memory. Then we can do any modifications with the Workbook object. Then we have 
to write the entire data back from memory to the excel file in one shot. You 
cannot write to a file in parts.

Unfortunately, this is the way POI works. :o(

I guess no one envisioned POI being used to such a large extent where excel 
files are toooo large that there is a shortage of memory. 

One short term solution for this problem is to increase your app server memory. 
But this is a short term solution cause as soon as the excel file becomes 
larger, the OutOfMemory Error would again be thrown. :o(

A way needs to be developed by POI guys to only read a certain amount of data 
into memory, work with it and then write it back and then take the next chunk 
of data. 

Maybe data being processed should be broken on the basis of Sheets within a 
workbook. This way the data to be read into memory is limited to a sheet.

Best Regards,
Bonson

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/


Mime
View raw message