diff --git a/pdf-2/src/main/java/com/baeldung/exceltopdf/ExcelToPDFConverter.java b/pdf-2/src/main/java/com/baeldung/exceltopdf/ExcelToPDFConverter.java index b4013f0d49..97d7b36bd6 100644 --- a/pdf-2/src/main/java/com/baeldung/exceltopdf/ExcelToPDFConverter.java +++ b/pdf-2/src/main/java/com/baeldung/exceltopdf/ExcelToPDFConverter.java @@ -88,24 +88,7 @@ public class ExcelToPDFConverter { Row headerRow = worksheet.getRow(0); for (int i = 0; i < headerRow.getPhysicalNumberOfCells(); i++) { Cell cell = headerRow.getCell(i); - - String headerText; - switch (cell.getCellType()) { - case STRING: - headerText = cell.getStringCellValue(); - break; - case NUMERIC: - headerText = String.valueOf(BigDecimal.valueOf(cell.getNumericCellValue())); - break; - case BLANK: - headerText = ""; // or null - break; - default: - logger.warn("Unsupported cell type: {}", cell.getCellType()); - headerText = ""; // or throw an exception - break; - } - + String headerText = getCellText(cell); PdfPCell headerCell = new PdfPCell(new Phrase(headerText, getCellStyle(cell))); setBackgroundColor(cell, headerCell); setCellAlignment(cell, headerCell); @@ -113,6 +96,23 @@ public class ExcelToPDFConverter { } } + public static String getCellText(Cell cell) { + String cellValue; + switch (cell.getCellType()) { + case STRING: + cellValue = cell.getStringCellValue(); + break; + case NUMERIC: + cellValue = String.valueOf(BigDecimal.valueOf(cell.getNumericCellValue())); + break; + case BLANK: + default: + cellValue = ""; + break; + } + return cellValue; + } + private static void addTableData(XSSFSheet worksheet, PdfPTable table) throws DocumentException, IOException { Iterator rowIterator = worksheet.iterator(); while (rowIterator.hasNext()) { @@ -122,14 +122,7 @@ public class ExcelToPDFConverter { } for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) { Cell cell = row.getCell(i); - String cellValue; - if (cell.getCellType() == CellType.STRING) { - cellValue = cell.getStringCellValue(); - } else if (cell.getCellType() == CellType.NUMERIC) { - cellValue = String.valueOf(cell.getNumericCellValue()); - } else { - cellValue = ""; - } + String cellValue = getCellText(cell); PdfPCell cellPdf = new PdfPCell(new Phrase(cellValue, getCellStyle(cell))); setBackgroundColor(cell, cellPdf); setCellAlignment(cell, cellPdf); diff --git a/pdf-2/src/main/resources/pdfsample.pdf b/pdf-2/src/main/resources/pdfsample.pdf index 320931762a..6a47504513 100644 --- a/pdf-2/src/main/resources/pdfsample.pdf +++ b/pdf-2/src/main/resources/pdfsample.pdf @@ -23,7 +23,7 @@ endobj <> endobj 7 0 obj -<> +<> endobj xref 0 8 @@ -36,7 +36,7 @@ xref 0000001186 00000 n 0000001231 00000 n trailer -<]>> +<<6a28b1036b62f3808f3bfb62a88a5239>]>> %iText-5.5.13.3 startxref 1391