最近开发涉及到了一个需求,需要将excel表的内容导入,经过处理后存入数据库。参考了前辈的实现方式,在此做一下整理和总结。
1.首先在controller层使用@RequestExcel注解接传入的excel;
此处的注解需要基于pig4cloud导入 com.pig4cloud.plugin.excel.annotation下的注解。
@PostMapping("import/excel")
public R<T> import(@RequestExcel List<UserInfo> list) {
return userService.import(list);
}
2.userInfo类需要用注解和传入的excel表字段进行对应;
其中的@ExcelIgnore对当前字段忽略,index和表中的第几列做对应关联。
public class UserInfo implements Serializable {
private static final long serialVersionUID = 1L;
@ExcelIgnore
private String id;
@ExcelProperty(value = "序号", index = 0)
private String no;
@ExcelProperty(value = "姓名", index = 1)
private String name;
@ExcelProperty(value = "年龄", index = 2)
private String age;
}
3.基于数据做相关处理进行保存
userMapper.batchInsert(userInfos);
总结:
基于注解可以快速实现对字段的匹配和忽略,使工作效率事半功倍!