1、构造excel表字段实体类,User
package com.example.pojo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class User {
@ExcelProperty(value = "用户编号")
@ColumnWidth(value = 20)
private Integer userId;
@ExcelProperty(value = "姓名")
@ColumnWidth(value = 20)
private String userName;
@ExcelProperty(value = "性别")
@ColumnWidth(value = 20)
private String gender;
@ExcelProperty(value = "工资")
@ColumnWidth(value = 20)
private Double salary;
@ExcelProperty(value = "入职时间")
@ColumnWidth(value = 50)
private Date hireDate;
}
2、写入excel文件
package com.example;
import com.alibaba.excel.EasyExcel;
import com.example.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@SpringBootTest
class EasyexcelQuickstartApplicationTests {
// 指定路径导出数据
@Test
public void testWriteExcel() {
String filename = "C:\\Users\\admin\\desktop\\user1.xlsx";
// 向Excel中写入数据 也可以通过 head(Class<?>) 指定数据模板
EasyExcel.write(filename, User.class)
.useDefaultStyle(false)
.sheet("用户信息")
.doWrite(getUserData());
}
// 不指定路径导出数据
@Test
public void testWriteExcel() throws FileNotFoundException {
OutputStream outputStream = new FileOutputStream("user1.xlsx");
// 创建 EasyExcel 的 ExcelWriterBuilder
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(outputStream);
excelWriterBuilder
.sheet("Sheet1")
.useDefaultStyle(false)
.doWrite(getUserData());
System.out.println("Excel 文件已创建成功!");
String currentDirectory = System.getProperty("user.dir");
System.out.println("当前工作目录:" + currentDirectory);
}
// 根据User模板构建数据
private static List<User> getUserData() {
List<User> list = new ArrayList<>();
list.add(new User(1, "suki", "男", 1000d, new Date()));
list.add(new User(2, "suki", "男", 1000d, new Date()));
list.add(new User(1, "suki", "男", 1000d, new Date()));
list.add(new User(4, "suki", "男", 1000d, new Date()));
return list;
}
}
3、生成文件内容