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