多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
![](https://img.kancloud.cn/3b/ef/3befa76ae26a96ffc6716394e20f18a2_1473x178.jpg) EasyExcel 默认以第1行作为表头,在读取数据时不读取第1行的数据。如果表格是多行表头则可以调用方法`headRowNumber(row)`让其跳过。 <br/> **1. 创建对应的实体类** ```java @Data public class Human { private String name; private Integer age; private String gender; private Integer total; } ``` **2. 创建对应的监听器** ```java @Slf4j public class HumanExcelListener implements ReadListener<Human> { @Override public void invoke(Human human, AnalysisContext analysisContext) { log.info("invoke -> {}", human); //下面通过方法headRowNumber(2)设置前两行为表头,所有只读取到下面两行数据 //invoke -> Human(name=李四, age=28, gender=男, total=179) //invoke -> Human(name=王五, age=35, gender=男, total=180) } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { log.info("doAfterAllAnalysed"); } } ``` **3. 读取表格** ```java @Test public void read04() { String path = this.getClass().getResource("/read/003.xlsx").getPath(); //headRowNumber(2):设置前两行为表头 EasyExcel.read(path, Human.class, new HumanExcelListener()).sheet().headRowNumber(2).doRead(); } ```