EasyExcel的多级表头
列优先结构:List<List
外层 List 的每个元素代表一列,如果每一列的第一行值相同,就会合并列
内层 List 代表该列的多级表头(从最上级到最下级),也就是行,如果每一行的值相同,就会合并行
如果表头是空白,可以使用空格代替,或者多个空格,代替实际值,防止其合并,显示出来跟空值一样
`
public class HeaderStructureExample {
/**
* 演示三列的表头结构
* 期望的Excel效果:
* ┌───────────┬─────────────┐
* │ 基本信息 │ 联系方式 │
* ├─────┬─────┼──────┬──────┤
* │ 姓名 │ 年龄│ 手机 │ 邮箱 │
* └─────┴─────┴──────┴──────┘
*/
public static List<List<String>> createThreeColumnHeader() {
List<List<String>> 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;
}
}
`

浙公网安备 33010602011771号