diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/base/BaseExportService.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/base/BaseExportService.java index 35c59a4..86d1efc 100644 --- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/base/BaseExportService.java +++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/base/BaseExportService.java @@ -280,10 +280,16 @@ public abstract class BaseExportService extends ExportCommonService { public void createDoubleCell(Row row, int index, String text, CellStyle style, ExcelExportEntity entity) { Cell cell = row.createCell(index); + cell.setCellType(CellType.NUMERIC); if (text != null && text.length() > 0) { - cell.setCellValue(Double.parseDouble(text)); + try { + cell.setCellValue(Double.parseDouble(text)); + } catch (NumberFormatException e) { + cell.setCellType(Cell.CELL_TYPE_STRING); + cell.setCellValue(text); + } } - cell.setCellType(CellType.NUMERIC); + if (style != null) { cell.setCellStyle(style); } diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiMergeCellUtil.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiMergeCellUtil.java index 94a295c..f93c699 100644 --- a/easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiMergeCellUtil.java +++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiMergeCellUtil.java @@ -87,7 +87,7 @@ public final class PoiMergeCellUtil { mergeDataMap.get(index).setEndRow(i - 1); } } else { - text = row.getCell(index).getStringCellValue(); + text = PoiCellUtil.getCellValue(row.getCell(index)); if (StringUtils.isNotEmpty(text)) { handlerMergeCells(index, i, text, mergeDataMap, sheet, row.getCell(index), mergeMap.get(index)); @@ -203,8 +203,8 @@ public final class PoiMergeCellUtil { return null; } if (cell.getRow().getCell(index) != null - && StringUtils.isNotEmpty(cell.getRow().getCell(index).getStringCellValue())) { - return cell.getRow().getCell(index).getStringCellValue(); + && StringUtils.isNotEmpty(PoiCellUtil.getCellValue(cell.getRow().getCell(index)))) { + return PoiCellUtil.getCellValue(cell.getRow().getCell(index)); } return getCellNotNullText(cell.getRow().getSheet().getRow(--rowNum).getCell(index), index, rowNum);