yxh
5 天以前 68ff33beff11310e830b0615b5a81f83fad0f683
jh-framework/jh-spring-boot-starter-excel/src/main/java/cn/lihu/jh/framework/excel/core/convert/DictConvert.java
@@ -37,7 +37,8 @@
        String label = readCellData.getStringValue();
        String value = DictFrameworkUtils.parseDictDataValue(type, label);
        if (value == null) {
            log.error("[convertToJavaData][type({}) 解析不掉 label({})]", type, label);
            // 【本需求】与导出方向一致:字典缺项属数据问题,用 WARN 而不是 ERROR(避免导入时刷红日志)
            log.warn("[convertToJavaData][type({}) 未找到字典项 label({}),按 null 处理]", type, label);
            return null;
        }
        // 将 String 的 value 转换成对应的属性
@@ -58,7 +59,11 @@
        String value = String.valueOf(object);
        String label = DictFrameworkUtils.getDictDataLabel(type, value);
        if (label == null) {
            log.error("[convertToExcelData][type({}) 转换不了 label({})]", type, value);
            // 【本需求】字典里没有这个值时,属于"数据没配字典",不是系统错误:
            // 原来用 log.error,导出 N 行就会刷 N 条 ERROR(例如"患者性别=0"在字典里没有 0),
            // 现场看着像系统出故障。这里降为 WARN,仍保留可追溯信息。
            // 返回值保持空单元格(比直接输出原始值 "0" 更合理)。
            log.warn("[convertToExcelData][type({}) 未找到字典项 value({}),导出为空]", type, value);
            return new WriteCellData<>("");
        }
        // 生成 Excel 小表格