easypoi excle自定义数据验证

 easypoi文档  http://easypoi.mydoc.io/#text_202981

//实体类 
public class user implements IExcelModel, IExcelDataModel{

    //此处省略get/set
    @Excel(name = "姓名")
    @NotNull(message="姓名不能为空")
    private String name;

    //错误信息
    private String errorMsg;

    //错误行号
    private int rowNum;

    @Override
    public Integer getRowNum() {
        return rowNum;
    }

    @Override
    public void setRowNum(Integer rowNum) {
        this.rowNum = rowNum;
    }

    @Override
    public String getErrorMsg() {
        return errorMsg;
    }

    @Override
    public void setErrorMsg(String errorMsg) {
         this.errorMsg = errorMsg;
    }




} 

 

 

 

//截取验证部分代码
ImportParams params = new ImportParams();
params.setTitleRows(0);
params.setHeadRows(1);
params.setImportFields(importFields);
//自定义验证
params.setVerifyHandler(new ReduceApplyExcelVerifyHandler());
params.setNeedVerfiy(true);
//实现IExcelVerifyHandler接口并传入接收excle数据的对象即可
public class ReduceApplyExcelVerifyHandler implements IExcelVerifyHandler {

	@Override
	public ExcelVerifyHandlerResult verifyHandler(ReduceApply obj) {
		
                //也可以从数据库查询出数据进行验证,最好放到缓存里                

                //减免原因验证
		List list = new ArrayList<>(14);
		list.add("客户死亡");
		list.add("欠款经司法判决");
		list.add("重大投诉案件");
		list.add("共债案件");
		list.add("重大疾病");
		list.add("一般疾病");
		list.add("伤残");
		list.add("成瘾性恶性行为");
		list.add("拘役或监禁");
		list.add("持卡人失踪");
		list.add("持卡人经济困难");
		list.add("打包单二次申请");
		list.add("零本金、低本金二次申请");
		list.add("快速响应谈判二次申请");
		if(!list.contains(obj.getReduceRsn().trim())) {
			return new ExcelVerifyHandlerResult(false,"减免原因内容错误!");
		}
		return new  ExcelVerifyHandlerResult(true);
	}

}

 

你可能感兴趣的:(java)