导入这个依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.0.5</version> </dependency>
参考这个网址
读Excel · 语雀 (yuque.com)https://www.yuque.com/easyexcel/doc/read
@RequestMapping("/uploadByExcel") public String uploadByExcel(@RequestParam("fileExcel")MultipartFile fileExcel) throws IOException { EasyExcel.read(fileExcel.getInputStream(),UserModel.class,new PageReadListener(userInfos->{ System.out.println(userInfos); })).sheet().doRead(); return fileExcel.getOriginalFilename(); } @RequestMapping("/writeByExcel") public String upLoadwriteByExcel() throws IOException { EasyExcel.write("C:\\Users\\user\\Desktop\\info.xls", UserModel.class) .sheet("模板") .doWrite(() -> { // 分页查询数据 return data(); }); return "success"; } private List<UserModel> data() { return Arrays.asList(new UserModel("5","小王八","20","男")); }
package com.javasm.listener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.read.processor.AnalysisEventProcessor; import com.javasm.model.UserModel; import java.util.Map; public class ExcelListener extends AnalysisEventListener<UserModel> { @Override public void invoke(UserModel userModel, AnalysisContext context) { System.out.println("++++行内容"+userModel); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { System.out.println("++++++" +analysisContext); } @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { System.out.println("++++表头+++"+headMap); } }
package com.javasm.model; import com.alibaba.excel.annotation.ExcelProperty; public class UserModel { @ExcelProperty(value = "编号",index = 0) private String uid; @ExcelProperty(value = "姓名",index = 1) private String uname; @ExcelProperty(value = "年龄",index = 2) private String uage; @ExcelProperty(value = "性别",index = 3) private String usex; @Override public String toString() { return "UserModel{" + "uid='" + uid + '\'' + ", uname='" + uname + '\'' + ", uage='" + uage + '\'' + ", usex='" + usex + '\'' + '}'; } public UserModel() { } public UserModel(String uid, String uname, String uage, String usex) { this.uid = uid; this.uname = uname; this.uage = uage; this.usex = usex; } public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUage() { return uage; } public void setUage(String uage) { this.uage = uage; } public String getUsex() { return usex; } public void setUsex(String usex) { this.usex = usex; } }