Bug 52973

Summary: Enable some rows to be excluded from the stream so that they can be post processed
Product: POI Reporter: Jim Talbut <jim-apache>
Component: SXSSFAssignee: POI Developers List <dev>
Status: RESOLVED WORKSFORME    
Severity: enhancement    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   

Description Jim Talbut 2012-03-22 19:57:31 UTC
For my uses of POI I have to write a large number of cells to a worksheet and then go back and insert a small number of images.
I can't insert the images before the data because the insertion of the data may involve resizing the column widths, and that would break the aspect ratio on the images.

Current SXSSF doesn't allow me to go back to insert the images.

It would be useful if some rows could be flagged to be kept in memory.

This would obviously complicate the streaming - you'd have to stream a block of rows, then output a block from memory, then stream another block, etc.
Comment 1 Dominik Stadler 2015-03-23 20:58:15 UTC
SXSSF now has the constructor SXSSFWorkbook(int rowAccessWindowSize), which allows to keep a certain number of rows in memory, doesn't that allow you to do what you want?
Comment 2 Dominik Stadler 2016-04-10 06:29:30 UTC
Resolving this one for now, please report a new bug-issue if the current approach does not work for you.