mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
Apply IDE suggestions
This commit is contained in:
parent
f10f164c61
commit
dc2cfe0bfc
@ -30,7 +30,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
/**
|
||||
* An variant of SXSSFWorkbook that avoids generating a temporary file and writes data directly to
|
||||
* A variant of SXSSFWorkbook that avoids generating a temporary file and writes data directly to
|
||||
* the provided OutputStream.
|
||||
*
|
||||
* This variant is experimental and APIs may change at short notice.
|
||||
@ -57,7 +57,7 @@ public class DeferredSXSSFWorkbook extends SXSSFWorkbook {
|
||||
|
||||
@NotImplemented
|
||||
@Override
|
||||
protected SheetDataWriter createSheetDataWriter() throws IOException {
|
||||
protected SheetDataWriter createSheetDataWriter() {
|
||||
throw new IllegalStateException("Not supported by DeferredSXSSFWorkbook");
|
||||
}
|
||||
|
||||
@ -66,11 +66,9 @@ public class DeferredSXSSFWorkbook extends SXSSFWorkbook {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ISheetInjector createSheetInjector(SXSSFSheet sxSheet) throws IOException {
|
||||
protected ISheetInjector createSheetInjector(SXSSFSheet sxSheet) {
|
||||
DeferredSXSSFSheet ssxSheet = (DeferredSXSSFSheet) sxSheet;
|
||||
return (output) -> {
|
||||
ssxSheet.writeRows(output);
|
||||
};
|
||||
return ssxSheet::writeRows;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
@ -669,44 +670,41 @@ class TestEvaluationCache {
|
||||
}
|
||||
|
||||
@Test
|
||||
void testPlainValueCache() {
|
||||
void testPlainValueCache() throws IOException {
|
||||
try (Workbook wb = new HSSFWorkbook()) {
|
||||
int numberOfSheets = 4098; // Bug 51448 reported that Evaluation Cache got messed up after 256 sheets
|
||||
|
||||
Workbook wb = new HSSFWorkbook();
|
||||
int numberOfSheets = 4098; // Bug 51448 reported that Evaluation Cache got messed up after 256 sheets
|
||||
Row row;
|
||||
Cell cell;
|
||||
|
||||
Row row;
|
||||
Cell cell;
|
||||
//create summary sheet
|
||||
Sheet summary = wb.createSheet("summary");
|
||||
wb.setActiveSheet(wb.getSheetIndex(summary));
|
||||
|
||||
//create summary sheet
|
||||
Sheet summary = wb.createSheet("summary");
|
||||
wb.setActiveSheet(wb.getSheetIndex(summary));
|
||||
//formula referring all sheets created below
|
||||
row = summary.createRow(0);
|
||||
Cell summaryCell = row.createCell(0);
|
||||
summaryCell.setCellFormula("SUM(A2:A" + (numberOfSheets + 2) + ")");
|
||||
|
||||
//formula referring all sheets created below
|
||||
row = summary.createRow(0);
|
||||
Cell summaryCell = row.createCell(0);
|
||||
summaryCell.setCellFormula("SUM(A2:A" + (numberOfSheets + 2) + ")");
|
||||
//create sheets with cells having (different) numbers
|
||||
// and add a row to summary
|
||||
for (int i = 1; i < numberOfSheets; i++) {
|
||||
Sheet sheet = wb.createSheet("new" + i);
|
||||
|
||||
row = sheet.createRow(0);
|
||||
cell = row.createCell(0);
|
||||
cell.setCellValue(i);
|
||||
|
||||
//create sheets with cells having (different) numbers
|
||||
// and add a row to summary
|
||||
for (int i = 1; i < numberOfSheets; i++) {
|
||||
Sheet sheet = wb.createSheet("new" + i);
|
||||
row = summary.createRow(i);
|
||||
cell = row.createCell(0);
|
||||
cell.setCellFormula("new" + i + "!A1");
|
||||
|
||||
row = sheet.createRow(0);
|
||||
cell = row.createCell(0);
|
||||
cell.setCellValue(i);
|
||||
|
||||
row = summary.createRow(i);
|
||||
cell = row.createCell(0);
|
||||
cell.setCellFormula("new" + i + "!A1");
|
||||
}
|
||||
|
||||
//calculate
|
||||
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||
evaluator.evaluateFormulaCell(summaryCell);
|
||||
assertEquals(8394753.0, summaryCell.getNumericCellValue(), 0);
|
||||
}
|
||||
|
||||
|
||||
//calculate
|
||||
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||
evaluator.evaluateFormulaCell(summaryCell);
|
||||
assertEquals(8394753.0, summaryCell.getNumericCellValue(), 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user