diff --git a/spring-mvc-java/src/main/java/com/baeldung/excel/ExcelPOIHelper.java b/spring-mvc-java/src/main/java/com/baeldung/excel/ExcelPOIHelper.java index e3658e8f89..0519a8f3c7 100644 --- a/spring-mvc-java/src/main/java/com/baeldung/excel/ExcelPOIHelper.java +++ b/spring-mvc-java/src/main/java/com/baeldung/excel/ExcelPOIHelper.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.HashMap; import java.util.ArrayList; import java.util.List; +import java.util.stream.IntStream; public class ExcelPOIHelper { @@ -38,27 +39,23 @@ public class ExcelPOIHelper { data = readXSSFWorkbook(fis); } - int maxNrCols = 0; + int maxNrCols = data.values().stream() + .mapToInt(List::size) + .max() + .orElse(0); - for (List ls : data.values()) { - if (ls.size() > maxNrCols) { - maxNrCols = ls.size(); - } - } - - for (List ls : data.values()) { - if (ls.size() < maxNrCols) { - for (int i = ls.size(); i < maxNrCols; i++) { - ls.add(new MyCell("")); - } - } - } + data.values().stream() + .filter(ls -> ls.size() < maxNrCols) + .forEach(ls -> { + IntStream.range(ls.size(), maxNrCols) + .forEach(i -> ls.add(new MyCell(""))); + }); return data; } private String readCellContent(Cell cell) { - String content = ""; + String content; switch (cell.getCellTypeEnum()) { case STRING: content = cell.getStringCellValue(); @@ -91,7 +88,7 @@ public class ExcelPOIHelper { HSSFSheet sheet = workbook.getSheetAt(0); for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++) { HSSFRow row = sheet.getRow(i); - data.put(i, new ArrayList()); + data.put(i, new ArrayList<>()); if (row != null) { for (int j = 0; j < row.getLastCellNum(); j++) { HSSFCell cell = row.getCell(j); @@ -144,7 +141,7 @@ public class ExcelPOIHelper { for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++) { XSSFRow row = sheet.getRow(i); - data.put(i, new ArrayList()); + data.put(i, new ArrayList<>()); if (row != null) { for (int j = 0; j < row.getLastCellNum(); j++) { XSSFCell cell = row.getCell(j);