Hi,

We are using POI SXSSF for writing excel files. We faced heap memory usage
issues with large excels containing large amounts of text data.

Currently, SXSSF stores the shared strings table completely in memory, and
if shared strings table is not used, the xlsx file is not compatible with
some clients (like iPad) (
https://issues.apache.org/bugzilla/show_bug.cgi?id=53130).

We tried using MapDB to store shared strings table, which flushes entries
to disk if there are a large number of entries. It's working quite well,
and successfully writes large files where POI currently throws OOM error.

PFA the modified files along with some test cases. The code is very crude
right now.

What is a good option to use this kind of code by extending existing
classes, instead of patching original code? Ideally, we would like to
extend SharedStringTable and plug it in.

Of course it would be awesome if something like this becomes available in
POI directly. Not sure if you'll be OK to depend on MapDB, or would like
your own code.

-- 
Cheers,
Sumedh
http://www.linkedin.com/in/sumedhinamdar
Ph: +91 - 95610 99125
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to