From a9695d1756d2dce623bf6f0d4a627f44850dce3d Mon Sep 17 00:00:00 2001 From: mazh <mazhenhai@heiyan.com> Date: 星期三, 05 八月 2020 11:28:57 +0800 Subject: [PATCH] 修复BUG: 导出Excel功能, 当attr的cellType为String时, cell的cellType由Numeric修正为String。 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 2d6ed8c..d950b77 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -8,7 +8,6 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; -import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -200,7 +199,10 @@ // 设置类的私有字段属性可访问. field.setAccessible(true); Integer column = cellMap.get(attr.name()); - fieldsMap.put(column, field); + if (column != null) + { + fieldsMap.put(column, field); + } } } for (int i = 1; i < rows; i++) @@ -474,7 +476,7 @@ { if (ColumnType.STRING == attr.cellType()) { - cell.setCellType(CellType.NUMERIC); + cell.setCellType(CellType.STRING); cell.setCellValue(StringUtils.isNull(value) ? attr.defaultValue() : value + attr.suffix()); } else if (ColumnType.NUMERIC == attr.cellType()) @@ -692,7 +694,7 @@ } return StringUtils.stripEnd(propertyString.toString(), separator); } - + /** * 解析字典值 * @@ -894,14 +896,7 @@ } else { - if ((Double) val % 1 > 0) - { - val = new DecimalFormat("0.00").format(val); - } - else - { - val = new DecimalFormat("0").format(val); - } + val = new BigDecimal(val.toString()); // 浮点格式处理 } } else if (cell.getCellTypeEnum() == CellType.STRING) -- Gitblit v1.9.2