From ca70b377e2883cfc75d9b1d3a2aa6fa0c0f7131b Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期三, 05 四月 2023 18:14:42 +0800
Subject: [PATCH] 优化导出Excel时设置dictType属性重复查缓存问题
---
src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index 8e5b1fd..0fff225 100644
--- a/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -99,6 +99,11 @@
public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
/**
+ * 鐢ㄤ簬dictType灞炴�ф暟鎹瓨鍌紝閬垮厤閲嶅鏌ョ紦瀛�
+ */
+ public Map<String, String> sysDictMap = new HashMap<String, String>();
+
+ /**
* Excel sheet鏈�澶ц鏁帮紝榛樿65536
*/
public static final int sheetSize = 65536;
@@ -1034,7 +1039,12 @@
}
else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value))
{
- cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator));
+ if (!sysDictMap.containsKey(dictType + value))
+ {
+ String lable = convertDictByExp(Convert.toStr(value), dictType, separator);
+ sysDictMap.put(dictType + value, lable);
+ }
+ cell.setCellValue(sysDictMap.get(dictType + value));
}
else if (value instanceof BigDecimal && -1 != attr.scale())
{
--
Gitblit v1.9.3