EasyExcel的多级表头

列优先结构:List<List> 中:
外层 List 的每个元素代表一列,如果每一列的第一行值相同,就会合并列
内层 List 代表该列的多级表头(从最上级到最下级),也就是行,如果每一行的值相同,就会合并行
如果表头是空白,可以使用空格代替,或者多个空格,代替实际值,防止其合并,显示出来跟空值一样
`
public class HeaderStructureExample {

/**
* 演示三列的表头结构
* 期望的Excel效果:
* ┌───────────┬─────────────┐
* │ 基本信息 │ 联系方式 │
* ├─────┬─────┼──────┬──────┤
* │ 姓名 │ 年龄│ 手机 │ 邮箱 │
* └─────┴─────┴──────┴──────┘
*/
public static List<List> createThreeColumnHeader() {
List<List> head = new ArrayList<>();

// 第1列:基本信息 -> 姓名
head.add(Arrays.asList("基本信息", "姓名"));

// 第2列:基本信息 -> 年龄
head.add(Arrays.asList("基本信息", "年龄"));

// 第3列:联系方式 -> 手机
head.add(Arrays.asList("联系方式", "手机"));

// 第4列:联系方式 -> 邮箱
head.add(Arrays.asList("联系方式", "邮箱"));

return head;
}

/**
* 对应的合并区域
*/
public static List<int[]> createThreeColumnMergeRegions() {
List<int[]> mergeRegions = new ArrayList<>();
// 合并第0行的第0-1列(基本信息)
mergeRegions.add(new int[]{0, 0, 0, 1});
// 合并第0行的第2-3列(联系方式)
mergeRegions.add(new int[]{0, 0, 2, 3});
return mergeRegions;
}
}

`

posted @ 2025-12-12 16:47  npe0  阅读(71)  评论(0)    收藏  举报