maven依赖
<!-- easyexcel依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
<!-- xls -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
将数据写入excel
1.实体类
@Data
public class Student {
// 设置表头名称
@ExcelProperty("学生编号")
private Integer sno;
@ExcelProperty("学生姓名")
private String sname;
}
2.写入数据
读取excel中数据
1.实体类(读取写入可以为同一实体类,同时加两属性,如value = “学生编号”,index = 0)
@Data
public class ReadStudent {
// 设置列对应属性
@ExcelProperty(index = 0)
private Integer sid;
@ExcelProperty(index = 1)
private String sname;
}
2.创建监听
public class ExcelListener extends AnalysisEventListener<ReadStudent> {
// 一行一行读取excel内容
@Override
public void invoke(ReadStudent readStudent, AnalysisContext analysisContext) {
System.out.println("****" + readStudent);
}
// 读取表头内容
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:"+ headMap);
}
// 读取完成后
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
3.读取数据
@Test
void readExcel(){
String fileName = "E:\\test.xlsx";
EasyExcel.read(fileName, ReadStudent.class,new ExcelListener()).sheet("测试").doRead();
}