-
3.使用EasyExcel实现读
-
- 3.1 创建读取操作的监听器
-
3.2 测试读Excel
-
4.springboot项目实践EasyExcel
-
- 4.1 pom中引入相关依赖
-
4.2 创建数据库表及添加数据
-
4.3 实体类
-
4.4 Controller层
-
4.5 Service层
-
4.6 创建监听器(核心部分)
-
4.7 结果展示
==============================================================================
-
Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或 者JVM频繁的full gc。
-
EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一 行行读取数据,逐个解析。
-
EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理 (AnalysisEventListener)
2.1 创建实体类
创建与
Excel
对应的实体类
/**
-
@author xppll
-
@date 2021/12/3 10:05
*/
@Data
public class DemoData {
//设置excel表头名称,index表示对应的第几列
@ExcelProperty(value = “学生编号”,index = 0)
private Integer sno;
@ExcelProperty(value = “学生姓名”,index = 1)
private String sname;
}
ExcelProperty
:指定当前字段对应excel中的那一列。可以根据名字或者Index去匹配。当然也可以不写,默认第一个字段就是index=0,以此类推。
2.2 测试写Excel
/**
-
@author xppll
-
@date 2021/12/3 10:08
*/
public class TestWriteExcel {
public static void main(String[] args) {
//实现excel写的操作
//1.设置写入文件夹的地址和excel文件名称
String fileName = “D:\write.xlsx”;
//2.调用easyexcel里面方法实现写操作
//传入:文件存放的路径+对应的实体类class
EasyExcel.write(fileName, DemoData.class).sheet(“学生列表”).doWrite(getData());