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;
}

}

`

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