EasyExcel创建多级表头及合并单元格步骤:1. 使用head()配置多级表头;2. 使用merge()设置合并单元格;3. 使用write()写入数据;4. 使用finish()关闭文件。

EasyExcel动态表头多级并合并单元格
如何动态创建多级表头并合并单元格?
使用EasyExcel创建多级表头及合并单元格,需要以下步骤:
1. 配置表头信息
使用ExcelWriter.head()方法配置表头信息。该方法接受一个List参数,表示多级表头。例如:>
List> head = new ArrayList<>(); head.add(Arrays.asList("一级表头1", "一级表头2")); head.add(Arrays.asList("二级表头1", "二级表头2", "二级表头3"));
2. 设置合并单元格
使用ExcelWriter.merge()方法设置合并单元格。该方法接受String参数,表示要合并的单元格区域。例如:
writer.merge(0, 0, 0, 1); // 合并第一行第一列和第二列
3. 写入数据
使用ExcelWriter.write()方法写入数据。该方法接受一个List参数,表示数据列表。例如:>
List> data = new ArrayList<>(); data.add(Arrays.asList("数据1", "数据2")); data.add(Arrays.asList("数据3", "数据4", "数据5"));
4. 关闭文件
写入数据后,使用ExcelWriter.finish()方法关闭文件。
完整代码示例:
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.metadata.Head;
import com.alibaba.excel.metadata.Merge;
import com.alibaba.excel.util.ListUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class DynamicHeadMerge {
public static void main(String[] args) {
// 创建一个ExcelWriter
ExcelWriter writer = EasyExcel.write("dynamic-head-merge.xlsx").build();
// 配置表头信息
List> head = new ArrayList<>();
head.add(Arrays.asList("一级表头1", "一级表头2"));
head.add(Arrays.asList("二级表头1", "二级表头2", "二级表头3"));
Head headInfo = new Head(head);
// 设置合并单元格
Merge merge = new Merge(0, 0, 0, 1);
List merges = ListUtils.newArrayList(merge);
// 写入数据
List> data = new ArrayList<>();
data.add(Arrays.asList("数据1", "数据2"));
data.add(Arrays.asList("数据3", "数据4", "数据5"));
// 写入数据并关闭文件
writer.head(headInfo).merge(merges).write(data).finish();
}
}











