1. Excel自定义注解添加必填校验
 	/**
     * 判断是否必填项
     */
    public boolean required() default false;

2.在实体类字段添加检验

    /** 联系方式 */
    @Excel(name = "联系方式",required = true)
    private String phone;

3.在ExcelUtil的importExcelByMap方法里(对excel表单指定表格索引名转换成list) 获取必填属性并进行校验

 if (StringUtils.isNotNull(fieldType))
                        {
                            Excel attr = field.getAnnotation(Excel.class);
                            String propertyName = field.getName();
                            //获取是否有必填属性
                            boolean required = attr.required();
                            //注意实体类字段类型,除String类型外,其他类型会被解析为null值,所以要判断对象是否为null
                            if(required) {
                            	if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString())) {
                            		throw new Exception("红色单元格必填项未填写,请正确填写!");
                            	}
                            }
                            if (StringUtils.isNotEmpty(attr.targetAttr()))
                            {
                                propertyName = field.getName() + "." + attr.targetAttr();
                            }
                            else if (StringUtils.isNotEmpty(attr.readConverterExp()))
                            {
                                val = reverseByExp(String.valueOf(val), attr.readConverterExp());
                            }
                            ReflectUtils.invokeSetter(entity, propertyName, val);
                        }

4.页面效果(我在Excel导入模板里把必填项的列都标红了,如果需要可自行改动提示某一列未填)
在这里插入图片描述

5.此方法只针对若依框架进行修改

Logo

快速构建 Web 应用程序

更多推荐