Even creating files with PoiSpreadsheetBuilder.stream uses too much memory.
AbstractSheetDefinition holds all the added rows in a variable while the underlying Apache POI SXSSFWorkbook actually flushes them to a temp file to allow the creation of large files. PoiSpreadsheetBuilder should not hold everything in memory and have the option to just append rows regardless anything else.
private final Map<Integer, AbstractRowDefinition> rows = new LinkedHashMap();
|
private final Map<Integer, AbstractRowDefinition> rows = new LinkedHashMap<Integer, AbstractRowDefinition>(); |
Even creating files with PoiSpreadsheetBuilder.stream uses too much memory.
AbstractSheetDefinition holds all the added rows in a variable while the underlying Apache POI SXSSFWorkbook actually flushes them to a temp file to allow the creation of large files. PoiSpreadsheetBuilder should not hold everything in memory and have the option to just append rows regardless anything else.
private final Map<Integer, AbstractRowDefinition> rows = new LinkedHashMap();
spreadsheet/libs/spreadsheet-builder-api/src/main/java/builders/dsl/spreadsheet/impl/AbstractSheetDefinition.java
Line 36 in 9b3fc7c