From a9695d1756d2dce623bf6f0d4a627f44850dce3d Mon Sep 17 00:00:00 2001
From: mazh <mazhenhai@heiyan.com>
Date: Wed, 05 Aug 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