Added parseExcelSheet

This commit is contained in:
Andreas Isler
2025-11-17 14:03:05 +01:00
parent d1b52a6ba3
commit 1ceafba8f1
2 changed files with 16 additions and 1 deletions
@@ -32,6 +32,17 @@ public class FlowableExcelParser {
} }
} }
public ArrayList<ArrayList<Object>> parseExcelSheet(String excelPath) {
try (FileInputStream fileInputStream = new FileInputStream(excelPath)) {
Workbook workBook = new XSSFWorkbook(fileInputStream);
FormulaEvaluator formulaEvaluator = workBook.getCreationHelper().createFormulaEvaluator();
Sheet workSheet = workBook.getSheetAt(0);
return parseSheet(workSheet, formulaEvaluator);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
protected ArrayList<ArrayList<ArrayList<Object>>> parseBook(Workbook workBook ) { protected ArrayList<ArrayList<ArrayList<Object>>> parseBook(Workbook workBook ) {
ArrayList<ArrayList<ArrayList<Object>>> book = new ArrayList<>(); ArrayList<ArrayList<ArrayList<Object>>> book = new ArrayList<>();
FormulaEvaluator formulaEvaluator = workBook.getCreationHelper().createFormulaEvaluator(); FormulaEvaluator formulaEvaluator = workBook.getCreationHelper().createFormulaEvaluator();
@@ -29,13 +29,17 @@ class FlowableExcelParserTest {
} }
protected Stream<Arguments> getArgumentsFromExcel(String path) { protected Stream<Arguments> getArgumentsFromExcel(String path) {
ArrayList<ArrayList<ArrayList<Object>>> book = flowableExcelParser.parseExcelBook(getResourcePath(path));
ArrayList<Arguments> argumentList = new ArrayList<>(); ArrayList<Arguments> argumentList = new ArrayList<>();
ArrayList<ArrayList<ArrayList<Object>>> book = flowableExcelParser.parseExcelBook(getResourcePath(path));
for (ArrayList<ArrayList<Object>> sheet : book) { for (ArrayList<ArrayList<Object>> sheet : book) {
for (ArrayList<Object> row : sheet) { for (ArrayList<Object> row : sheet) {
argumentList.add(Arguments.of(row)); argumentList.add(Arguments.of(row));
} }
} }
ArrayList<ArrayList<Object>> sheet = flowableExcelParser.parseExcelSheet(getResourcePath(path));
for (ArrayList<Object> row : sheet) {
argumentList.add(Arguments.of(row));
}
return argumentList.stream(); return argumentList.stream();
} }