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 | 21 ++++++--------------- 1 files changed, 6 insertions(+), 15 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 51dbcd7..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 @@ -17,7 +17,6 @@ import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; - import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.Cell; @@ -41,7 +40,6 @@ import org.apache.poi.xssf.usermodel.XSSFDataValidation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel.ColumnType; import com.ruoyi.common.annotation.Excel.Type; @@ -201,8 +199,9 @@ // 设置类的私有字段属性可访问. field.setAccessible(true); Integer column = cellMap.get(attr.name()); - if(column !=null ) { // 字段在excel 中没有,那么就不需要设置值 - fieldsMap.put(column, field); + if (column != null) + { + fieldsMap.put(column, field); } } } @@ -477,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()) @@ -695,7 +694,7 @@ } return StringUtils.stripEnd(propertyString.toString(), separator); } - + /** * 解析字典值 * @@ -897,15 +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()); // 导入的数据保证原汁原味,不做处理 + val = new BigDecimal(val.toString()); // 浮点格式处理 } } else if (cell.getCellTypeEnum() == CellType.STRING) -- Gitblit v1.9.2