我是靠谱客的博主 神勇御姐,这篇文章主要介绍excel导入数据时null值的处理,现在分享给大家,希望可以做个参考。

场景

excel导入数据时,空文本转换金额报错。

问题分析

如amount字段,后台明明设置了为空不转换啊:

if(StringUtils.isEmpty(amount)){
    invoice.setAmount(new Double(0)); 
}else{
    invoice.setAmount(Double.valueOf(amount));
}

但是仍然报错了。
原因是excel空文本,传到后台是"null"字符串。这样过滤条件过滤不掉它,Double.valueof(amount);会报错。

解决方案

代码处理

添加个条件判断,StringUtils.isEmpty(amount) || “null”.equals(amount)
都给他设置为null或者0,这样就可以了。
示例代码如下:

@Data
public class Invoice {
    private Double amount;
    private String checkCode;

    public static void main(String[] args) {
        Invoice invoice = new Invoice();
        String amount="null";
        String checkCode="null";
        if(StringUtils.isEmpty(amount) || "null".equals(amount)){
            invoice.setAmount(new Double(0)); // 如果为空或"null",金额设置为  0 或者 null
        }else{
            invoice.setAmount(Double.valueOf(amount));
        }
        if(StringUtils.isEmpty(checkCode) || "null".equals(amount)){
            invoice.setCheckCode(null); // 如果为空或"null",校验码设置为  "" 或者 null
        }else{
            invoice.setCheckCode(checkCode);
        }
        System.out.println(JSON.toJSONString(invoice));
    }
}

excel设置

最后

以上就是神勇御姐最近收集整理的关于excel导入数据时null值的处理的全部内容,更多相关excel导入数据时null值内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部