poi-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörn Franke <jornfra...@gmail.com>
Subject Re: XSSFWorkbook throws outofMemoryError
Date Tue, 23 Jan 2018 15:49:51 GMT
50 mb compressed can easily be several hundred MBs uncompressed. Especially with Java Datentypes.
You should increase the memory by at least 2 other GB, if you want to stay with your current

Depending on your workbook structure you could skip reading sheets which are not relevant
or just read one after the other. The following example uses this as part of hybrid streaming,
but you could follow the same approach with the normal api(read only one sheet and ignore
the others):

I use the streaming classes as part of HadoopOffice (including support for encryption and
digital signature) it is not so difficult to use.

> On 23. Jan 2018, at 15:22, maitrey <maitrey0388@gmail.com> wrote:
> My file is 50MB and I got outofMemoryError in this statement.
> XSSFWorkbook workbook = new XSSFWorkbook(excelFilePath); 
> this line causes to  java.lang.OutOfMemoryError: Java heap space
> We have search and try to apply the solutions like SXSSF classes,
> StreamReader classes and SAX parser.
> But this needs big implementation in our application.
> We have the heap memory to 2GB but still we get this error.
> Is there any way to use this constuctor? 
> we need workbook object. It is extensive used in application.
> I know there are similar questions like this. I have also tried to apply
> suggetions but it is not completly works in our case.
> --
> Sent from: http://apache-poi.1045710.n5.nabble.com/POI-User-f2280730.html
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@poi.apache.org
> For additional commands, e-mail: user-help@poi.apache.org

  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message