EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况
下支持读写百M的Excel。
2.官网:EasyExcel · 语雀https://www.yuque.com/easyexcel/doc/easyexcel
3.使用:(1)pom.xml文件:
<--引入EasyExcel依赖-->com.alibaba easyexcel2.1.6
( 2)业务编写:
实体类:
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class UserData {
@ExcelProperty(value = "用户编号", index = 0) //设置表头和列项
private int uid;
@ExcelProperty(value = "用户名称", index = 1) //设置表头和列项
private String username;
}
导入监听类:
import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import java.util.Map; public class ExcelListener extends AnalysisEventListener{ @Override public void invoke(UserData userData, AnalysisContext analysisContext) { System.out.println(userData); } @Override public void invokeHeadMap(Map headMap, AnalysisContext context) { System.out.println("表头信息:"+headMap); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } }
(3)业务测试:
EasyExcel导出:
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class TestWrite {
public static void main(String[] args) {
//构建数据list集合
List list = new ArrayList<>();
for(int i= 0; i < 10; i++){
UserData data = new UserData();
data.setUid(i);
data.setUsername("lucy"+i);
list.add(data);
}
//设置excel文件路径和文件名称
String fileName = "C:\Users\Desktop\excel\01.xlsx";
//调用方法实现写操作
EasyExcel.write(fileName, UserData.class).sheet("用户信息")
.doWrite(list);
}
}
EasyExcel导入:
import com.alibaba.excel.EasyExcel;
public class ReadExcelTest {
public static void main(String[] args) {
//读取文件路径
String fileName = "C:\Users\Desktop\excel\01.xlsx";
//调用方法实现读取操作
EasyExcel.read(fileName, UserData.class, new
ExcelListener()).sheet().doRead();
}
}



