1. 导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
<!-- 还需要POI的3.17 -->
2. 写操作
@Data
public class DataPojo {
@ExcelProperty("编号") // excel的表头
Integer sno;
@ExcelProperty("名称")
String sname;
}
String fileName = "F:\\write.xlsx";
List<DataPojo> list = new ArrayList<>();
for (int i = 0; i < 10; i ++ ) {
DataPojo data = new DataPojo();
data.setSno(i);
data.setSname("jerry" + i);
}
// 写操作
EasyExcel.write(fileName, DataPojo.class).sheet("学生列表").doWrite(list);
3. 读操作
读需要监听器
@Data
public class DataPojo {
@ExcelProperty(value = "编号", index = 0)
Integer sno;
@ExcelProperty(value = "名称", index = 1)
String sname;
}
// 监听器
public class ExcelListener extends AnalysisEventListener<DataPojo> {
// 一行一行读取,从第二行
public void invoke(DataPojo data, AnalysisContext context) {
System.out.println(data);
}
// 读取之后的事请
public void doAfterAllAnalysed(AnalysisContext context) {
}
// 读取表头
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:" + headMap);
}
}
String fileName = "...";
EasyExcel.read(fileName, DataPojo.class, new ExcelListener()).sheet().doRead();