前言:本篇博客读写Excel使用的是EasyExcel,EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。详细了解和使用请参考官方文档:EasyExcel · 语雀
一、Excel示例
二、代码实现
1、引入依赖
com.alibabaeasyexcel2.2.7
2、创建对象
import lombok.Data;
import com.alibaba.excel.annotation.ExcelProperty;
@Data
public class UserExcel {
@ExcelProperty(value = "用户名", index = 0)
private String name;
@ExcelProperty(value = "登录名", index = 1)
private String loginName;
@ExcelProperty(value = "用户密码", index = 2)
private String loginPassword;
}
3、读写Excel
/**
* 批量导入用户信息
*/
@Override
public void batchInsert(MultipartFile file) throws IOException {
List users = new ArrayList();
List userExcels = new ArrayList();
// 读excel
EasyExcel.read(file.getInputStream(), UserExcel.class, new AnalysisEventListener() {
@Override
public void invoke(UserExcel userExcel, AnalysisContext analysisContext) {
User user = new User();
BeanUtils.copyProperties(userExcel, user);
users.add(user);
userExcels.add(userExcel);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
// 存储到数据库中
users.forEach(user -> baseMapper.insert(user));
System.out.println("excel文件读取完毕!");
}
}).sheet().doRead();;
// 写excel
EasyExcel.write(new File("D://输入用户信息.xlsx"), UserExcel.class).sheet().doWrite(userExcels);
4、写Excel成功示例
路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。