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<ReduceApply> {
@Override
public ExcelVerifyHandlerResult verifyHandler(ReduceApply obj) {
//也可以从数据库查询出数据进行验证,最好放到缓存里
//减免原因验证
List<String> 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);
}
}