1、写
1.先根据excel创建对应实体类,一列对应一个属性:
@Data
public class EasyExcelEntity {
@ExcelProperty(value = "学生编号", index = 0)
private int sno;
@ExcelProperty(value = "学生姓名", index = 1)
private String sname;
}
2.写service业务代码:
public class EasyExcelWriteDemo {
@Test
public static void main(String[] args) {
//写操作 存放文件地址
String fileURL = "D://write.xlsx";
//doWrite()中存放list
EasyExcel.write(fileURL, EasyExcelEntity.class).sheet("学生表").doWrite(doData());
}
public static List<EasyExcelEntity> doData() {
List<EasyExcelEntity> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
EasyExcelEntity easyExcelEntity = new EasyExcelEntity();
easyExcelEntity.setSno(i);
easyExcelEntity.setSname("lucy" + i);
list.add(easyExcelEntity);
}
return list;
}
}
2、读
1.写实体类(如上)
2.写监听类
public class ExcelListener extends AnalysisEventListener<EasyExcelEntity> {
//一行一行读
@Override
public void invoke(EasyExcelEntity easyExcelEntity, AnalysisContext analysisContext) {
System.out.println("****" + easyExcelEntity);
}
//读取表头
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:" + headMap);
}
//读完之后做的操作
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
3.读操作业务代码
@Test
public static void main(String[] args) {
//读操作
String fileURL = "D://write.xlsx";
EasyExcel.read(fileURL,EasyExcelEntity.class,new ExcelListener()).sheet().doRead();
}