使用 EasyExcel 可动态导出表头,具体步骤如下:创建数据模型使用 ExcelWriter 创建写入器注册 WriteHandler 用于动态创建表头将数据写入 Excel 文件关闭写入器

使用 EasyExcel 动态导出表头
EasyExcel 是一款方便、高效的 Java Excel 解析和写入工具,它允许开发者动态创建表头以导出 Excel 文件。
如何动态导出表头?
动态导出表头的步骤如下:
- 创建一个 JavaBean 作为数据模型,包含要导出的数据。
- 使用 EasyExcel 的
ExcelWriter创建一个 Excel 写入器。 - 使用
registerWriteHandler方法注册一个WriteHandler,用于动态创建表头。 - 将数据模型写入 Excel 文件。
详细步骤:
1. 创建数据模型
一鱼CMS一鱼CMS(APHPCMS)轻量级10秒快速建表一键CRUD生成企业网站,采用PearAdmin和Layui2.9.16。(原YiYuAdmin升级进化版本),超简单模板制作。CMS特色字段预设:表字段预先配置好,新增模型时直接选择生成表。模型字段:可导出,导入,设为预设字段,修改和删除时自动更新表字段。模型字段:结合Layui表可设置查询,表头属性,表头模板。模型字段:可设置表单类型,
public class DemoData {
private String name;
private int age;
private double salary;
// 省略 getter 和 setter 方法
}2. 创建 Excel 写入器
ExcelWriter writer = EasyExcel.write("demo.xlsx", DemoData.class).build();3. 注册 WriteHandler
WriteHandler writeHandler = new WriteHandler() {
@Override
public void sheet(int sheetNo, Sheet sheet) {
// 在这里动态创建表头
sheet.appendRow(Arrays.asList("姓名", "年龄", "薪资"));
}
};
writer.registerWriteHandler(writeHandler);4. 写入数据
Listdata = Arrays.asList(new DemoData(), ...); writer.write(data);
5. 关闭写入器
writer.finish();
示例代码
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.handler.WriteHandler;
import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
ExcelWriter writer = EasyExcel.write("demo.xlsx", DemoData.class).build();
WriteHandler writeHandler = new WriteHandler() {
@Override
public void sheet(int sheetNo, WriteSheetHolder holder) {
holder.getSheet().appendRow(Arrays.asList("姓名", "年龄", "薪资"));
}
};
writer.registerWriteHandler(writeHandler);
List data = Arrays.asList(new DemoData(), ...);
writer.write(data);
writer.finish();
}
}










