单元格动态属性-范围属性
1. 概述
本文将详细介绍模板单元格中的“范围”功能及其配置使用方法。我们将通过一个具体的范围属性案例来展示如何有效实践。
本教程所使用的案例数据集如下:出货单.xlsx
1.1. 应用场景
当需要在一个区域内批量设置父格,或者子格位于父格的左侧或上侧且无法通过C属性实现时,就需要使用单元格的R属性(Range)。
1.2. 功能介绍
R属性允许指定一个矩阵范围内的单元格作为当前单元格的子格,以实现批量设置父格的效果,目前仅支持手动输入设置。
与C属性和默认父格相比,R属性具有不同的功能特点和优先级,适用于更复杂的布局需求。
以下是三种父格之间的区别对比:
父格 | 优先级 | 功能特点 | 优点 | 缺点 |
C属性 | 高 | 可设置2个父格(左、上各一个),多维度相邻时可继承 | 父子关系简单明了 | 需逐个设置,单元格多时较麻烦 |
默认父格 | 中 | 左、上相邻的模板单元格自动成为父格 | 自动生效,方便高效 | 覆盖范围小,易被忽略 |
R属性 | 低 | 1. Range允许嵌套(完全包含)。 2. 扩展方向相同的单元格的Range不允许相交。 3. 如一个单元格位于多个Range内,按方向分成两组,每组中最小的Range对它起作用。 | 仅用于部分表头单元格,即可实现批量设置父格的效果,效率高。 | 范围交叉较复杂的时候要小心互相冲突; 优先级低,不建议和C属性混合使用。 |
1.3. 案例效果
以「订单编号」作为主键,根据订单编号生成多张出货单(即有几个订单编号就要生成几张出货单)。
其中每个订单包含多个货号,每个货号数据占据一行。
2. 实现思路
主键「订单编号」位于整个报表中间靠右,如果它前面和上面的单元格用C属性设置父格,预览会报错且无法保存。只能在最前面插入一列隐藏列,把「订单编号」拖入这一列当做父格,然后把后面整个表单范围内单元格(包括空白单元格)都转换为模板单元格并设置父格才能实现。实现步骤比较麻烦,且容易遗漏设置。
如果采用R属性,则步骤简化为:静态表头 + 拖拉拽视图字段 + 2个单元格设置R属性。
3. 操作步骤
准备好静态表头(需要先构建出大致的表格结构样式,按位置输入文本作为静态表头,按需横向或纵向合并单元格);
从视图拖入主键字段(用作父格的维度字段),手动输入R属性,注意跟其他属性用半角逗号隔开。