Java中使用EasyExcel向Excel中写入数据时,有时数据可能表格中的标题比较复杂,可能会占用多行。本文就要介绍一下写入复杂头(head)表中的标题的方法及示例代码。

数据标题示例

1、实体对象

@Data
public class ComplexHeadData {
@ExcelProperty({"主标题", "字符串标题"})
private String string;
@ExcelProperty({"主标题", "日期标题"})
private Date date;
@ExcelProperty({"主标题", "数字标题"})
private Double doubleData;
}

2、写入数据的方法及示例代码

//写入数据生成
private List<DemoData> data() {
    List<DemoData> list = new ArrayList<DemoData>();
    for (int i = 0; i < 10; i++) {
        DemoData data = new DemoData();
        data.setString("字符串" + i);
        data.setDate(new Date());
        data.setDoubleData(0.56);
        list.add(data);
    }
    return list;
}
/**
 * 复杂头写入
 * <p>1. 创建excel对应的实体对象 参照{@link ComplexHeadData}
 * <p>2. 使用{@link ExcelProperty}注解指定复杂的头
 * <p>3. 直接写即可
 */
@Test
public void complexHeadWrite() {
    String fileName = TestFileUtil.getPath() + "complexHeadWrite" + System.currentTimeMillis() + ".xlsx";
    // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
    EasyExcel.write(fileName, ComplexHeadData.class).sheet("模板").doWrite(data());
}

相关文档

https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java

Java EasyExcel读取Excel表头数据的方法及示例代码

Java EasyExcel创建读写操作Excel(.xls,.xlsx)用法及示例代码

Java 使用EasyExcel读取Excel中多个sheet方法及示例代码

Java EasyExcel指定列的下标或列名读取Excel数据方法及示例代码

Java EasyExcel处理Excel日期、数字或者自定义格式转换方法及示例代码

Java EasyExcel读取多行头(Header)数据方法及示例代码

Java EasyExcel读取Excel同步返回数据的方法及示例代码

Java EasyExcel写入Excel数据指定写入数据实体中列(忽略或包含)的方法

官方文档https://alibaba-easyexcel.github.io/

推荐文档