ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
![](https://img.kancloud.cn/3b/ef/3befa76ae26a96ffc6716394e20f18a2_1473x178.jpg) **1. 创建对应的实体类** ```java @Data public class Student { /** 注意,声明属性的顺序要与表格中列的顺序一致 */ private String name; private Integer age; private String gender; private Integer total; } ``` **2. 创建对应的监听器** ```java @Slf4j public class StudentExcelListener implements ReadListener<Student> { /** * 每读取表格中的一行时就会被调用一次 */ @Override public void invoke(Student student, AnalysisContext analysisContext) { log.info("invoke -> {}", student); //invoke -> Student(name=张三, age=25, gender=男, total=175) //invoke -> Student(name=李四, age=28, gender=男, total=179) //invoke -> Student(name=王五, age=35, gender=男, total=180) } /** * 当读取完表格所有的行后被调用 */ @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { log.info("doAfterAllAnalysed"); } } ``` **3. 调用`EasyExcel.read`方法读取表格** ```java @Test public void read01() { String path = this.getClass().getResource("/read/001.xlsx").getPath(); //读取第一个sheet, 文件流会自动关闭的 EasyExcel.read(path, Student.class, new StudentExcelListener()).sheet().doRead(); } ```