Page 1 of 1

Can it handle large spreadsheets?

PostPosted: Fri Sep 16, 2011 11:05 am
by DaveyBob
Hi,

I'm looking around for a Java library that can
* Write xls and xlsx files
* Write large (500,000 rows x 200 columns) files (xlsx)
* Write large files without consuming all memory (ie, it can stream)

Does xls4j fit the bill? If not, what does?

Re: Can it handle large spreadsheets?

PostPosted: Tue Sep 20, 2011 9:59 pm
by jason
xlsx4j writes xlsx, not xls. For xls, consider apache poi.

As things stand, xlsx4j would load the entire spreadsheet into memory.

For some thoughts, see http://jaxb.java.net/guide/Dealing_with ... ments.html

Re: Can it handle large spreadsheets?

PostPosted: Fri Sep 30, 2011 3:53 pm
by MaSEL
I'm looking around for a Java library that can
* Write xls and xlsx files
* Write large (500,000 rows x 200 columns) files (xlsx)
* Write large files without consuming all memory (ie, it can stream)


I am looking for the same.
We used POI for large XLS files generation. The problem was in the huge memory consumption. The new version of POI has streaming model http://poi.apache.org/spreadsheet/index.html but it has some serious bugs now (for example, usage of grouping can make the whole workbook unreadable in the microsoft excel), which stops us from using it.

As things stand, xlsx4j would load the entire spreadsheet into memory.

I think, it`s not the problem, cause I estimate that the memory consumption will be still lower than the Apache POI uses.
I have no more details now cause I still haven`t reach the xlsx4j usage level at which I can test the large spreadsheets with all functions I need.
Mainly because it is poorly documented (or I never looked at the proper side) and it is necessary to get the understanding of the Office Open XML format.