EasyExcel 是阿里巴巴提供的一个 对excel操作框架 可以高效的对excel进行读,写 操作
写 做法
1 导入依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
2 创建对应excel的实体类
package com.mumu.eduservice.entity.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class MyExcel {
//设置表头名称
@ExcelProperty("学生id")
private Integer id ;
@ExcelProperty("学生姓名")
private String name;
@ExcelProperty("学生邮箱")
private String email;
}
3 对excel进行写的操作
package com.mumu.eduservice.entity.excel;
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
//设置要写入哪个文件路径下 文件不存在会自动创建
String filename="D:\\write.xlsx";
//用Easexle 直接调用写的方法write 参数1 文件路径名 参数2 实体类class doWrite(“这里填要写入的数据”);
EasyExcel.write(filename,MyExcel.class).sheet("学生列表").doWrite(Test.getlist());
}
//
private static List getlist(){
List list=new ArrayList();
for (int i=0;i<10 ; i++){
MyExcel myExcel=new MyExcel();
myExcel.setId(i);
myExcel.setEmail(i+"456"+"@"+i);
myExcel.setName(i+"p");
list.add(myExcel);
}
return list;
}
}
执行结果
EasyExcel 读的操作
读的操作 就是读取excel表格 将数据输出到想要输出的地方 比如说控制台
做法
1 创建excel的实体类
@Data
public class MyExcel {
//设置表头名称
@ExcelProperty("学生id")
private Integer id ;
@ExcelProperty("学生姓名")
private String name;
@ExcelProperty("学生邮箱")
private String email;
}
2 创建一个类 去继承AnalysisEventListener 重写里面的两个方法
public class Myread extends AnalysisEventListener {
@Override//一行一行的读取表格数据
public void invoke(Object o, AnalysisContext analysisContext) {
System.out.println("**"+o);
}
@Override//读取完之后
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
3 编写读的方法执行读的操作 read的意思的是读的意思
参数参照写的操作中的参数
public static void main(String[] args) {
String filename="D:\\write.xlsx";
EasyExcel.read(filename,MyExcel.class,new Myread()).sheet().doRead();
}
结果