1. 简 介 概 述
easyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。
64M内存1分钟内读取75M(46W行25列)的Excel(当然还有急速模式能更快,但是内存占用会在100M多一点)
easyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
2. 官方网址
https://www.yuque.com/easyexcel/doc/write
3. easyexcel完成写操作
把java对象写到excel文件中
3.1. 引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
3.2 . 封装对象
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExcelDemo {
//标记excel 标题内容
@ExcelProperty(value = "姓名")
private String name;
@ExcelProperty(value = "年龄")
private Integer age;
@ExcelProperty(value = "性别")
private String sex;
//表示不写入表格的属性
@ExcelIgnore
private String address;
}
3.3 完成写入操作
package com.wzt.excel;
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
/**
* @program: qy63-easycxcel
* @author: 王中涛
* @create: 2023-04-28 17:06
**/
public class TestWrite {
public static void main(String[] args) {
//excel存在哪个位置
String fileName = "D:\\新建文件夹\\qy63-easycxcel\\qy163.xls";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 如果这里想使用03 则 传入excelType参数即可
List<ExcelDemo> data = new ArrayList<>();
data.add(new ExcelDemo(1,"giaohua",12,"上海"));
data.add(new ExcelDemo(2,"坤坤",13,"北京"));
data.add(new ExcelDemo(2,"鸡哥",13,"北京"));
data.add(new ExcelDemo(2,"坤哥",13,"北京"));
data.add(new ExcelDemo(2,"蔡徐坤",13,"北京"));
EasyExcel.write(fileName, ExcelDemo.class).sheet("wzt").doWrite(data);
}
}
3.