[]
        
(Showing Draft Content)

表格单元格自动合并

在表格类报表中,经常会有自动合并单元格的需求,就是说,对于某些或某个列的相同数据,不要每行显示相同的数据,而是跨行合并相同内容的单元格,如下图:

112723wts77cqcskdkqktk.png

其中的红框部分,就是自动合并后的效果,如果不合并,原始效果如下图:

112945bvfvowbvfvyvvtko.png

多数情况下,实现这种单元格合并的最佳方式是使用矩表元素,而不是普通表格。

但是如果合并需求不是从左至右的各列都合并,而是靠后的某列(如上图中的【类别名称】)需要合并,前面的某列(上图中的【产品名称】)不要合并,那么普通表格可能是更好的选择。

设置某列单元格合并的方法

设置某列单元格合并的方法是:

1. 选中表格内明细数据行的单元格

例如下图中的第二行的那些单元格:

120522cmblepeab8mkzlzb.png

2. 设置【自动合并】选项

120637sfvcsc1k6ls5v9fv.png

自动合并选项及其含义

三种选项值的含义如下:

(1)永不合并:同一列的不同行,无论数据内容是否相同,都不合并。这是默认的选项。

(2)跨分组合并:同一列的不同行,只要数据内容相同,都要合并。就是【总是合并】的意思。

(3)分组内合并:同一列的不同行,数据相同时,是否合并要根据前一列是否合并。

其中,第三个【分组内合并】的具体效果,取决于前面的列是否合并。

如果前面的列,设置为【永不合并】,那么后续列设置为【分组内合并】时,实际效果是不会合并,因为前面的列不合并,相当于没有分组,或者说每个明细行就是一个独立的分组,在一行范围内合并,实际效果也就是永不合并了。

注意:

表格第一列的【分组内合并】比较特殊,因为没有前面的列了,所以,第一列的【分组内合并】就跟【跨分组合并】等效,也就是【总是合并】的意思。

多个列的自动合并选项设置组合效果

下面是多个列不同设置组合的最终效果。

(1)前面的列设置【永不合并】,后续列设置【分组内合并】,最终效果是不合并。

(2)前面的列设置【分组内合并】,后续列设置【分组内合并】,最终效果是合并。

(3)前面的列设置【永不合并】,后续列设置【跨分组合并】,最终效果是合并。

(4)前面的列设置【分组内合并】,后续列设置【跨组合并】,最终效果是合并。

总结:

如果想要强制某列合并,就设置为【跨分组合并】,以摆脱对前导各列的依赖。

例如:

将【类别名称】单元格设置为【跨分组合并】:

123801u5xzfodjgam5tj5o.png


预览效果如下图:

123504twulauvlwvhasevv.png

可以看到,红框所示的【类别名称】列的单元格,都是按相同的类别名称合并,尽管前面那些列都设置为【永不合并】,这就是因为【类别名称】单元格设置了【跨分组合并】。

数据合并后背景颜色显示效果

我们使用单元格属性对某一列的数据合并后,显示效果如下。

合并后的单元格背景不再符合原来的填充规律,而是整块进行了填充。

image2022-4-15_11-24-30.png


一般情况下这种显示效果不影响阅读,但在某些场景下要求数据背景还是要遵循原来的规律,仅将合并的数据显示一次,后续重复则留空即可。具体效果如下:

image2022-4-15_11-27-29.png

那么这种显示效果是如何做到的呢?


具体步骤如下:

1. 单击表格中的任意位置,使表格显示出分组窗口,然后将“ 订单编号 ”也即将要设置数据合并的那个字段拖拽到分组窗口中添加分组。

image2022-4-15_11-29-59.png

2. 删除分组头和分组尾。

image2022-4-15_11-33-52.png

image2022-4-15_11-34-25.png


3. 将数据绑定改写为表达式: {IIF(RowNumber("表格2_订单编号1") = 1, 订单编号, "")}

意思是每组订单编号的第一行显示订单编号,其他行不显示。这样也就间接实现了想要的合并效果。

image2022-4-15_11-38-28.png


4. 预览效果如下,这样我们未使用自动合并属性,也实现了数据合并的显示效果。

image2022-4-15_11-39-24.png

image2022-4-15_11-41-18.png