easyexcel导入数据非空校验
时间: 2023-11-08 07:05:48 浏览: 339
可以通过EasyExcel提供的@NotEmpty注解来实现非空校验。具体步骤如下:
1. 在实体类中添加@NotEmpty注解,如下所示:
```
public class User {
@NotEmpty(message = "用户名不能为空")
private String username;
@NotEmpty(message = "密码不能为空")
private String password;
// 省略getter和setter方法
}
```
2. 在读取Excel文件时,使用EasyExcel提供的read方法,并传入自定义的校验器,如下所示:
```
public void readExcel() {
String fileName = "test.xlsx";
InputStream inputStream = null;
try {
inputStream = new FileInputStream(fileName);
EasyExcel.read(inputStream, User.class, new UserValidator()).sheet().doRead();
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public class UserValidator extends AbstractSheetReadValidator<User> {
@Override
public void customValidate(User user, AnalysisContext context) {
if (StringUtils.isEmpty(user.getUsername())) {
String errorMsg = "第" + context.readRowHolder().getRowIndex() + "行用户名不能为空";
addErrorMsg(errorMsg);
}
if (StringUtils.isEmpty(user.getPassword())) {
String errorMsg = "第" + context.readRowHolder().getRowIndex() + "行密码不能为空";
addErrorMsg(errorMsg);
}
}
}
```
在自定义的校验器中,通过判断实体类中的属性是否为空来进行校验,并通过addErrorMsg方法将错误信息添加到错误列表中。
阅读全文
相关推荐








