添加自定义校验规则需要继承IExcelVerifyHandler,然后给importParam设置这个校验器
? @Component public class AppImportVerify implements IExcelVerifyHandler<AutAppB> { ? ? ? @Autowired ? ? private IAutAppBService autAppBServiceImpl; ? ? ? @Override ? ? public ExcelVerifyHandlerResult verifyHandler(AutAppB autAppB) { ? ? ? ? ExcelVerifyHandlerResult result = new ExcelVerifyHandlerResult(); ? ? ? ? //假设我们要添加用户, ? ? ? ? //现在去数据库查询loginName,如果存在则表示校验不通过。 ? ? ? ? //假设现在数据库中有个loginName 1234560 ? ? ? ? AutAppB byId = autAppBServiceImpl.getById(autAppB.getAppId().toString()); ? ? ? ? if (byId!=null) { ? ? ? ? ? ? result.setMsg("唯一校验失败"); ? ? ? ? ? ? result.setSuccess(false); ? ? ? ? ? ? return result; ? ? ? ? } ? ? ? ? result.setSuccess(true); ? ? ? ? return result; ? ? } } 注意:如果使用spring的话,需要注入自定义的校验器,不能通过new
? @Autowired ? private AppImportVerify appImportVerify; ? ? ? ? ? ? ? ? MultipartFile file2 = multipartRequest.getFile("file"); ? ? ? ? ? ? ImportParams importParams = new ImportParams(); ? ? ? ? ? ? //开启校验 ? ? ? ? ? ? importParams.setNeedVerfiy(true); ? ? ? ? ? ? importParams.setHeadRows(1); ? ? ? ? ? ? //如果用spring,这里要注入 ? ? ? ? ? ? importParams.setVerifyHandler(appImportVerify); ?
|