easyexcel icon indicating copy to clipboard operation
easyexcel copied to clipboard

使用【不创建对象的写】创建多级表头,如何指定第三行的相同列不自动合并。

Open Maledingda opened this issue 1 year ago • 5 comments

问题描述

image

Maledingda avatar Jul 04 '24 10:07 Maledingda

期望的效果:image

Maledingda avatar Jul 04 '24 10:07 Maledingda

EasyExcel.write(fileName).head(head())
                //不自动合并表头
                .automaticMergeHead(false)
                .sheet("模板").doWrite(dataList());

psxjoy avatar Jul 05 '24 03:07 psxjoy

没看清要求,这种指定标题行合并,需要单独处理了。最简单的就是把它当作数据来写入。

psxjoy avatar Jul 05 '24 03:07 psxjoy

没看清要求,这种指定标题行合并,需要单独处理了。最简单的就是把它当作数据来写入。

这种自定义单元格合并规则是如何实现的呢,有案例吗?我昨天尝试了下,没有成功。

Maledingda avatar Jul 05 '24 03:07 Maledingda

List<List<String>> exportHeader = Lists.newArrayList();
exportHeader.addAll(Lists.newArrayList("国家标准“三保”支出", "合计", "需求数"));// 这里表示第1列中,第1、2、3行表头
exportHeader.addAll(Lists.newArrayList("国家标准“三保”支出", "保基本民生", "需求数"));// 这里表示第2列中,第1、2、3行表头
exportHeader.addAll(Lists.newArrayList("国家标准“三保”支出", "保工资", "需求数"));// 这里表示第3列中,第1、2、3行表头
exportHeader.addAll(Lists.newArrayList("国家标准“三保”支出", "保运转", "需求数"));// 这里表示第4列中,第1、2、3行表头
EasyExcel.write(response.getOutputStream()).sheet(sheetName).head(exportHeader).doWrite(exportBody);

LSL1618 avatar Jul 05 '24 04:07 LSL1618