# 2.4.2扩展

扩展，顾名思义，就是由一变多，单元格扩展就是指查看模板效果的时候，原来模板设计中的单元格由一个变成了多个，这就是单元格扩展。

Excel的单元格只有2个方向，横向和纵向，而云报表是一款类Excel的报表工具，因此云报表中单元格的扩展是有方向的。

#### 2.4.2.1扩展方向

云报表提供了三种单元格扩展方向。

-   不扩展：单元格中字段的数据不扩展，所有数据在一个单元格中展示。
-   纵向扩展：单元格中字段的数据纵向扩展，依次从上至下，在不同单元格中展示。
-   横向扩展：单元格中字段的数据横向扩展，依次从左至右，在不同单元格中展示。

![](/uploads/projects/report/202605/18b0d4108a3782b0.png)

图2.4.2.1.1 单元格不扩展效果

![](/uploads/projects/report/202605/18b0d4108af915f8.png)

图2.4.2.1.2 单元格横向扩展和纵向扩展效果

如果单元格中插入元素是字段，则默认扩展方向纵向扩展，其它插入元素则默认是不扩展。

#### 2.4.2.2父格设置

父子格是跟单元格扩展息息相关的概念，单元格的扩展是针对具体的某一个单元格，当报表主体中绑定了多个单元格时，单元格间会天然存在某种关系，使单元格间存在数据过滤关系，并且跟随扩展，这就是父子格。前面的单元格称之为父格，后面的单元格称之为子格，也就是说子格的数据会跟随父格的数据进行过滤分组显示，并且还会跟随父格的扩展方向而扩展。

**父子格关系**

子格的扩展属性会随着父格的扩展属性变化，当单元格左侧或上方相邻的单元格具有扩展属性时，单元格默认其左侧相邻单元格为其左父格，默认上方相邻的单元格为其上父格。

父子格关系包括两种：过滤关系和跟随关系。

-   过滤关系：过滤关系是值子格会默认将父格的数据作为过滤条件进行过滤，使父子格之间的数据能对应的显示出来，但是这个默认的过滤关系只限于两个单元格中的字段来自于同一个数据集。如图2.4.2.2.1，两个单元格中的数据来自于同一数据集，故东北后面跟随东北的省份，西南后面跟随西南的省份。

![](/uploads/projects/report/202605/18b0d4108c026d97.png)

图2.4.2.2.1 过滤关系

-   跟随关系：跟随关系就是指子格会默认跟随父格的扩展方向进行分组，即父格纵向扩展，子格跟随父格默认纵向扩展分组。如上图2.4.2.2.1，区域单元格A1纵向扩展，子格B1也纵向跟随扩展，父格横向扩展，子格会跟随父格横向扩展分组，同时保持自己的数据使用默认的纵向扩展，如下图2.4.2.2.2，A2的相邻单元格为A1，且A1在其上方，A1是A2的上父格，则A2中的省份会跟随父格A1中的地区横向扩展分组，同时保持自己的数据纵向扩展显示。

![](/uploads/projects/report/202605/18b0d4108ce0b911.png)

图2.4.2.2.2 跟随关系

**父子格分类**

父子格包括左父格和上父格两种。

左父格：跟随父格单元格纵向扩展，大多数情况下左父格在单元格的左侧，单元格会默认以来自于同一数据源的相邻的左侧纵向扩展单元格为左父格。

![](/uploads/projects/report/202605/18b0d4108dc55311.png)

图2.4.2.2.3 左父格

上父格：跟随父格单元格横向扩展，大多数情况下上父格在单元格的上方，单元格会默认以来自于同一数据源的上方的横向扩展单元格为上父格。

![](/uploads/projects/report/202605/18b0d4108e88be10.png)

图2.4.2.2.4 上父格

**父子格设置**

父子格设置有3种，无、默认和自定义。

无：该单元格不设父格。

默认：使用默认父格设置，插入元素是字段时，该单元格会默认将其左侧来自于同一数据源的纵向扩展单元格作为左父格，将其上方来自于同一数据源的横向扩展单元格作为上父格，插入元素是其它类型时，默认没有父格。

自定义：由用户自行为单元格设置父格，输入单元格编号即可。

![](/uploads/projects/report/202605/18b0d4108f4a05d1.png)

图2.4.2.2.5 父子格设置

#### 2.4.2.3横纵向可伸展

数据扩展时，可能扩展出很大面积，扩展格左侧或上方的单元格无法知道数据会扩展出多大，为了让报表整体美观，希望这些单元格中的内容会随着数据区的扩展而进行伸展。这时，可以使用单元格伸展来控制单元格的显示效果。

横向可伸展：数据从左到右横向扩展时，可以设置扩展格上方单元格的横向可伸展性。

纵向可伸展：数据从上到下纵向扩展时，可以设置扩展格左侧单元格的纵向可伸展性。

![](/uploads/projects/report/202605/18b0d4109009a665.png)

图2.4.2.3.1 横向可伸展

配置是否可伸展通过勾选实现，默认横纵向均可伸展，若不需要伸展，不勾选即可。

![](/uploads/projects/report/202605/18b0d41090d3afaa.png)

图2.4.2.3.2 横纵向可伸展配置

#### 2.4.2.4扩展后排序

扩展后排序是针对分组内部进行排序，比如想将每个学生各科的分数按照从高到低排列，可对分数字段做扩展后降序排序。

![](/uploads/projects/report/202605/18b0d41091d5806c.png)

图2.4.2.4.1 扩展后排序

这种情况下分数的排序不是全局排的，而是在每个学生内部排，常规下的排序则是全局排，会打乱学生的顺序。

![](/uploads/projects/report/202605/18b0d41092c5f27b.png)

图2.4.2.4.2 扩展后排序分数降序排列

常规下的排序和扩展后排序使用场景不同，如果数据以列表的方式展示，配置扩展后排序看不出来效果，因为每一条数据就是一个独立分组，扩展后排序仅有一个数据可以排。而如果数据是分组展示，对字段配置常规下的排序，为了不打乱当前的分组，会默认做扩展后排序。