Skip to content

Commit 8e313bd

Browse files
committed
no rows cache for streaming spreadsheet
1 parent 9b3fc7c commit 8e313bd

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

libs/spreadsheet-builder-api/src/main/java/builders/dsl/spreadsheet/impl/AbstractSheetDefinition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ protected AbstractWorkbookDefinition getWorkbook() {
4444
return workbook;
4545
}
4646

47-
private RowDefinition findOrCreateRow(int zeroBasedRowNumber) {
47+
protected RowDefinition findOrCreateRow(int zeroBasedRowNumber) {
4848
AbstractRowDefinition row = rows.get(zeroBasedRowNumber + 1);
4949

5050
if (row != null) {

libs/spreadsheet-builder-poi/src/main/java/builders/dsl/spreadsheet/builder/poi/PoiSheetDefinition.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package builders.dsl.spreadsheet.builder.poi;
1919

2020
import builders.dsl.spreadsheet.builder.api.PageDefinition;
21+
import builders.dsl.spreadsheet.builder.api.RowDefinition;
2122
import builders.dsl.spreadsheet.builder.api.SheetDefinition;
2223
import builders.dsl.spreadsheet.impl.AbstractSheetDefinition;
2324
import org.apache.poi.ss.usermodel.Row;
@@ -34,10 +35,20 @@ class PoiSheetDefinition extends AbstractSheetDefinition implements SheetDefinit
3435
public static final int MAX_COLUMN_WIDTH = 255 * 256;
3536

3637
private final Sheet sheet;
38+
private final boolean streaming;
3739

3840
PoiSheetDefinition(PoiWorkbookDefinition workbook, Sheet sheet) {
3941
super(workbook);
4042
this.sheet = sheet;
43+
this.streaming = sheet instanceof SXSSFSheet;
44+
}
45+
46+
@Override
47+
protected RowDefinition findOrCreateRow(int zeroBasedRowNumber) {
48+
if (streaming) {
49+
return createRow(zeroBasedRowNumber);
50+
}
51+
return super.findOrCreateRow(zeroBasedRowNumber);
4152
}
4253

4354
@Override protected PoiRowDefinition createRow(int zeroBasedRowNumber) {

0 commit comments

Comments
 (0)