RuoYi
2023-04-05 ca70b377e2883cfc75d9b1d3a2aa6fa0c0f7131b
优化导出Excel时设置dictType属性重复查缓存问题
已修改1个文件
12 ■■■■■ 文件已修改
src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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())
                {