跳到主要内容
版本:6.0.0

中国式报表Pro模版说明

1.名词定义

名词说明
模板单元格可以通过右键设置或存在一对双花括号的单元格{{}}会被自动识别为模板单元格,模板单元格双击支持配置模板属性,模板单元格代表了该单元格里面包含模板字段,模板属性,是可以根据配置的属性规则进行扩展的单元格。
模板字段模板字段分为数据字段、函数字段、表达式字段、工作表字段,数据字段可将视图中的字段拖至编辑区,形成可扩展的数据;函数字段是用一对花括号将excel函数包装起来,支持函数中引用数据字段;表达式字段是指用一对花括号将表达式包装起来;工作表字段用于工作表名称绑定。
模板属性CSGE等均为模板属性,用来定义模版扩展的方向,排序,分组,父格等。
自定义函数G_TEXT()转换字符串函数。

2.模板单元格

模板单元格代表了该单元格里面包含模板字段,模板属性,是可以根据配置的属性规则进行扩展的单元格;

而普通单元格只能承载静态数据,和excel单元格用法无差。

1.png

3.模版字段

模板布局可以包含各种数据绑定的字段,这些字段的数据绑定到视图。下图显示了不同的模板字段:函数字段。

数据字段是由数据源中的数据填充的绑定字段。可以按照以下示例中所示的不同方式定义这些字段:

数据字段数据绑定字段定义为:{{ds.FieldName}},其中ds是数据源的别名。例如,{{ds.grade}}

函数字段用于在报告中执行计算。有两种形式

形式1:{{=函数()}}可以将函数应用于单元格或数据字段。支持的标准Excel函数为 Sum, Count, Average, Max, Min, Product, StdDev, StdDevp, Var and Varp. For example:

{{=SUM(F4)}}

{{=SUM(team.score)}}

{{=Count(student.name)}}

注意:{{=}}类函数字段仅支持一个参数,支持引用数据字段

函数字段也可以根据上下文进行计算。例如,在下面的图像单元格D14中包含函数字段以及上下文属性。将首先通过对单元格C14中的收入求和,然后对整个类别的值求和(因为A14是其上下文)来计算结果值

4.png

5.png

形式2:{{==函数()}},可支持excel中大多数函数公式,不区分参数个数,但仅支持参数引用单元格{{==VLOOKUP(F4,A1:G7,2,false)}}

表达式字段可用于使用运算符'+','-','*','/'和'()'执行计算。表达式可以应用于单元格。例如:

{{=A18*0.05}}

{{=A18+D18-G18}}

{{=(A18+ A20)*0.3}}

注意:表达式字段不支持模板属性。函数字段和表达式字段不能像{{= Sum(A5 + A6)}}或{{= Sum(A5)* 0.01}}那样一起使用,不支持。

推荐用法

6.png

工作表字段GcExcel支持在工作表名称中使用绑定字段,这意味着工作表名称的字段值由数据源中的数据填充,并创建了多个工作表。每个工作表都包含与其值相对应的数据。

例如,如果我们将{{dt.Region}}指定为工作表名称,并且数据源包含5个区域的数据,则最终报告将包含5个工作表,而单个工作表将包含特定区域的数据。

6.png

4.模版属性

模板属性与圆括号 () 中的模板字段一起定义,如下图所示:

7.png

当被识别为模板单元格时,支持双击模板单元格,打开模板属性配置窗口,进行可视化配置,也支持手写。

8.png

4.1 扩展E

垂直扩展

如果单元格的expansion属性设置为vertical,即“E=V”,则单元格值将垂直展开,如下所示。默认展开设置为垂直,这意味着如果未在单元格中指定任何展开属性,则单元格值将垂直展开。

水平扩展

如果单元格的expansion属性设置为horizontal,即“E=H”,则单元格值将水平展开,如下所示:

4.2 设置父格C

在模板布局中定义绑定到数据源的多个字段时,它们之间会建立一种关系,称为上下文关系(简称父子关系)。前一个单元称为后一个单元的上下文单元。根据此关系,在最终报告中展开时,将对数据进行筛选或分组。有两种类型的上下文关系。

  • 过滤关系: 使用上下文单元格的数据作为过滤条件来过滤单元格中的数据。例如,在下图中,name单元格中的数据将根据其上下文单元格中的数据进行过滤:

  • 跟随关系: 单元格中的数据根据上下文单元格中数据的扩展方向进行分组。例如,在下图中,name单元格中的数据根据其上下文单元格进行分组和水平展开:

上下文单元格的使用“C”属性定义。单元格中的数据根据上下文垂直或水平扩展。可以通过以下方式设置单元格的上下文:

  • 注意:无单元格上下文(C= None)

  • 自定义:使用“C”属性显式指定单元格上下文

  • 默认值如果单元格中未定义上下文,则默认上下文单元格是左侧的相邻单元格,E=V(垂直展开),或顶部的相邻单元格,E=H(水平展开)例如,在下图中,A1是B1的上下文单元格,并垂直展开。

而且,A1是A2的上下文单元格,并水平展开。

Capture2.png

最多支持配置两个父格来约束一个单元格扩展的跟随行为

上下文优先级

上下文应适用于单元格的优先级顺序按以下顺序确定:

显式上下文 > 默认上下文 > 回退上下文

  • 显式上下文:由单元格本身的C属性定义的上下文

  • 默认上下文:如果单元格中未定义上下文,则默认上下文具有优先级

  • 回退上下文:如果左侧或顶部没有相邻单元格值,则该单元格将查找具有覆盖其位置的R(Range)属性的单元格,并将其用作上下文。

如果未定义默认或显式上下文,则可以使用Range属性在单元格中定义回退上下文。定义范围的单元格将作为其他单元格展开的上下文。

例如,创建下面的模板布局是为了显示不同相机型号的销售详细信息,这意味着数据需要扩展到相机型号。然后,需要显示另一款相机的销售详情。我们可以为摄影机模型定义范围R=B11:F16,而不是为每个字段添加上下文-{{ds.Name(R=B11:F16)},说明销售细节需要根据相机型号进行扩展和分组。

上述模板布局将生成以下Excel报表:

4.3 分组G(Group)

group属性允许您将模板中的数据分组。

值:枚举

G=Normal(归类不重复): 对于列中的相应记录,不重复分组依据字段的值;而是每个数据组打印一次。

G=Merge(归类合并)(默认值): 行为与常规参数相同,不同之处在于它会合并每个组集的按字段分组的单元格。

G=Repeat(归类重复): 对相应的记录重复分组依据字段的值。

G=List(原始分组): 字段值针对相应的记录独立列出。

image.png

注意:归类合并排序方式较为消耗性能,不建议大数据量情况下使用

示例

{{ds.field(G=repeat)}}

{{ds.field(G=list)}}

下图显示了如何对重复数据应用“merge”分组:

4.4 排序S(Sort)

sort属性指定模板中的排序类型。

值:枚举

S=Asc升序

S=Desc: 降序

S=None(默认值):不排序

模板属性排序优先级>数据准备阶段排序。当模板属性中为不排序时,数据准备阶段排序生效。

示例

{{ds.field(S=Desc)}}

下图显示了如何根据模板字段的排序类型对其进行扩展:

4.5 范围R(Range)

range属性为指定范围内的字段指定回退上下文。范围中涵盖的所有字段(既没有默认值也没有明确的上下文)将定义该范围的当前单元格用作上下文。

值:Cell range

默认值: Null

示例

{{ds.field(R= B3:F10)}}

下图显示了为学生姓名定义的范围,并指定了有关学生姓名的详细信息并将其分组:

4.6 分页计数 CP

开启分页:

25.png

默认分页模式为按纸张大小分页,当前值A3纸张;开启分页功能后,可以在想要计数分页的单元格上,右击配置计数。

如CP=10,则根据该单元格扩展出的数据,每10个进行一次分页。

4.7 额外添加行列数 FM

默认值为带格式额外添加行列数(插入单元格,如需插入行需配置中国式报表全局参数)。

支持修改为覆盖写入或者保留格式覆盖写入。

26.png

5.自定义函数

函数:G_TEXT

在试用excel函数image()时,需要参数为string类型,=IMAGE("https://support.content.office.net/en-us/media/35aecc53-b3c1-4895-8a7d-554716941806.jpg","column")

该函数用于将其他类型的字段值转为字符串类型

例如:=IMAGE(G_TEXT(ds.url))

图片和超链接会自动生成对应函数,您只需在数据准备时将相关维度设置显示为图片/超链接