RuoYi-Vue/ruoyi-common
程子 3d0f0c9aae
update ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java.
解决Boolean类型属性在解析单元格数据后, 会先被此 val = Convert.toBool(val, false) 解析为 Boolean 类型, 之后 val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()) 此方法在进行反向解析值时, 无法匹配到返回为"", 导致 Boolean 值丢失.
如:
属性 
@Excel(name = "是否打开", readConverterExp = "true=yes,false=no")
 private Boolean isOpen;

首先会执行  val = Convert.toBool(val, false); 此方法返回 Boolean 类型.
public static Boolean toBool(Object value, Boolean defaultValue)
    {
        if (value == null)
        {
            return defaultValue;
        }
        if (value instanceof Boolean)
        {
            return (Boolean) value;
        }
        String valueStr = toStr(value, null);
        if (StringUtils.isEmpty(valueStr))
        {
            return defaultValue;
        }
        valueStr = valueStr.trim().toLowerCase();
        switch (valueStr)
        {
            case "true":
            case "是":
            case "yes":
            case "ok":
            case "1":
                return true;
            case "否":
            case "false":
            case "no":
            case "0":
                return false;
            default:
                return defaultValue;
        }
    }

Signed-off-by: 程子 <395030787@qq.com>
2025-03-03 07:58:31 +00:00
..
src/main/java/com/ruoyi/common update ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java. 2025-03-03 07:58:31 +00:00
pom.xml 若依 3.8.9 2024-12-30 08:49:55 +08:00