前言:小编读写Excel使用的是EasyExcel,EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。详细了解和使用请参考官方文档:EasyExcel
一、Excel示例
二、代码实现
1、引入依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.7</version></dependency>
2、创建对象
import lombok.Data;import com.alibaba.excel.annotation.ExcelProperty;@Datapublic 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
/** * 批量导入用户信息 */@Overridepublic void batchInsert(MultipartFile file) throws IOException { List<User> users = new ArrayList<>(); List<UserExcel> userExcels = new ArrayList<>(); // 读excel EasyExcel.read(file.getInputStream(), UserExcel.class, new AnalysisEventListener<UserExcel>() { @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成功示例