一.easyExcel介绍
它是一个Java解析excel文件的工具,今天来实现一个easyexcel向磁盘中写入excel的简单代码
Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便 Github
为什么使用easyexcel,因为它的读写效率很高,非常的快
二.引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
三.编写对应的实体类
package excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* 2 * @Author: AkaTom
* 3 * @Date: 2022/7/11 11:10
* 4
*/
@Data
public class DemoData {
@ExcelProperty("学生编号")
private Integer sno;
@ExcelProperty("学生姓名")
private String sname;
}
需要在对应的类上加上属性用来指定列名
@ExcelProperty()
四.写入数据
package excel;
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
/**
* 2 * @Author: AkaTom
* 3 * @Date: 2022/7/11 11:17
* 4
*/
public class TestEasyExcel {
public static void main(String[] args) {
//实现excel写操作
// 1设置写入文件夹地址和excel文件名称
String filename="E:\\demo.xlsx";
//2 调用easyexcel里面的方法实现写操作
EasyExcel.write(filename,DemoData.class).sheet("学生列表").doWrite(getData());
}
//创建方法返回list集合
private static List<DemoData> getData(){
List<DemoData> list=new ArrayList<>();
for (int i = 0; i <10 ; i++) {
DemoData data=new DemoData();
data.setSno(i);
data.setSname("Tom"+i);
list.add(data);
}
return list;
}
}
主要的代码就是20行的那句调用语句,就可以直接生成一个表格文件并且保存在本地。
五.本地查看
数据写入成功,下次我们再讲如何读取excel中的文件。