[]
        
(Showing Draft Content)

模板字段

概述

模板字段,报表模板中最重要的一部分,其描述了模板生成报表的过程中,数据的关系,以及数据计算的逻辑。

其主要有四部分:

  • 数据字段 (Data Fields)

  • 函数字段 (Function Fields)

  • 表达式字段 (Expression Field)

  • 工作表名称字段 (Sheet Name Field)

下图是一个模板字段在报表中的各种用例:

Template fields

数据字段

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

GcExcel 支持多种不同种类的数据源,不同的数据源使用不同的数据字段类型,您可以参考数据源页面,以了解更多细节。

数据字段

语法:

image

数据源别名 (DataSourceName):通过 workbook.addDatasource 方法,可以添加数据源并指定数据源的别名。

字段名 (FieldName):绑定的数据源中字段的名字。

示例:

如有数据绑定字段:{{ds.SalesData}},其中ds是数据源的别名,SalesData 是字段名。

嵌套数据字段

语法:

image

数据字段的字段名支持嵌套,当数据是属性结构或者多层时,可以通过嵌套数据字段,使用 '.' 来获取更深层数据字段。

示例:

  • {{ report.student.family.father.names }}

  • {{ report.student.family.father.occupation }}

内联数据字段

语法:

image

内联数据字段是指,可以将数据字段嵌入在一段文本的任何位置。即在数据字段前后,可以使用静态文本 (Static Text)。

示例:

  • 日期:{{task.dueDate}}

  • 分数:{{ds.scores}}

函数字段

GcExcel 模板提供了两种函数字段,模板函数字段Excel 函数字段。通过他们,您可以对报表作进一步的数据处理或者数据统计。

模板函数字段

语法:

image

模板函数 (Template Formula): GcExcel 提供了一组标准 Excel 函数,用于模板填充时进行计算

函数参数 (Parameter): 模板函数支持引用单元格( {{ =SUM(F4) }} )或者数据字段( {{ =SUM(team.score) }}

支持的函数列表:

  • Sum

  • Count

  • Average

  • Max

  • Min

  • Product

  • StdDev

  • StdDevp

  • Var

  • Varp

示例:

  • {{=SUM(F4)}}

  • {{=SUM(team.score)}}

  • {{=Count(student.name)}}

效果如下:

Function fields

Function fields

限制:

请注意,虽然模板函数支持引用单元格以及数据字段,但是模板函数仅支持引用一个参数

Excel 函数字段

语法:

image

模板函数 (Excel Formula): GcExcel 提供了一组标准 Excel 函数,在报表填充时不参与计算,会在填充后转变为 Excel 函数。

函数参数 (Parameter): 与模板函数参数不同,函数参数仅支持引用单元格( {{ =SUM(F4) }} ,在模板填充时,会随着数据进行扩展。

支持的 Excel 函数列表:

  • 所有 Excel 函数

示例:

  • {{==SUM(C14)}}

image

image

限制:

对于 Excel 函数字段,GcExcel 仅会对参数做扩展,并在模板填充后转化为 Excel 函数。因此,您需要自行保证 Excel 函数的正确性,否则会出现各种无法预期的结果。

表达式字段

语法:

image

表达式 (Expression):表达式字段,可以通过 '+','-','*','/' 以及 '(',')' 进行运算。表达式仅可以引用单元格。

示例:

  • {{ =A18*0.05 }}

  • {{ =A18+D18-G18 }}

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

限制:

  • 表达式字段,不能与模板属性一起使用。如:{{ =A18*0.05 (E=H) }}

  • 模板函数字段和表达式字段,也暂时不支持一起使用。如:{{ =Sum(A5 + A6) }} 或者 {{ =Sum(A5) * 0.01}}

工作表名称

语法:

image

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

示例:

如下图所示:将工作表名称指定为{{dt.Region}} ,则最终报告将包含5个工作表,而单个工作表将包含特定区域的数据。

Bound field in sheet name

限制:

  • 工作表名称字段仅支持 “sort” 和 “group” 模板属性