[]
模板字段,报表模板中最重要的一部分,其描述了模板生成报表的过程中,数据的关系,以及数据计算的逻辑。
其主要有四部分:
数据字段 (Data Fields)
函数字段 (Function Fields)
表达式字段 (Expression Field)
工作表名称字段 (Sheet Name Field)
下图是一个模板字段在报表中的各种用例:
数据字段是由数据源中的数据填充的绑定字段。可以按照以下示例中所示的不同方式定义这些字段:
GcExcel 支持多种不同种类的数据源,不同的数据源使用不同的数据字段类型,您可以参考数据源页面,以了解更多细节。
语法:
数据源别名 (DataSourceName):通过 workbook.addDatasource 方法,可以添加数据源并指定数据源的别名。
字段名 (FieldName):绑定的数据源中字段的名字。
示例:
如有数据绑定字段:{{ds.SalesData}},其中ds是数据源的别名,SalesData 是字段名。
语法:
数据字段的字段名支持嵌套,当数据是属性结构或者多层时,可以通过嵌套数据字段,使用 '.' 来获取更深层数据字段。
示例:
{{ report.student.family.father.names }}
{{ report.student.family.father.occupation }}
语法:
内联数据字段是指,可以将数据字段嵌入在一段文本的任何位置。即在数据字段前后,可以使用静态文本 (Static Text)。
示例:
日期:{{task.dueDate}}
分数:{{ds.scores}}
GcExcel 模板提供了两种函数字段,模板函数字段及 Excel 函数字段。通过他们,您可以对报表作进一步的数据处理或者数据统计。
语法:
模板函数 (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)}}
效果如下:
限制:
请注意,虽然模板函数支持引用单元格以及数据字段,但是模板函数仅支持引用一个参数。
语法:
模板函数 (Excel Formula): GcExcel 提供了一组标准 Excel 函数,在报表填充时不参与计算,会在填充后转变为 Excel 函数。
函数参数 (Parameter): 与模板函数参数不同,函数参数仅支持引用单元格( {{ =SUM(F4) }} ),在模板填充时,会随着数据进行扩展。
支持的 Excel 函数列表:
所有 Excel 函数
示例:
{{==SUM(C14)}}
限制:
对于 Excel 函数字段,GcExcel 仅会对参数做扩展,并在模板填充后转化为 Excel 函数。因此,您需要自行保证 Excel 函数的正确性,否则会出现各种无法预期的结果。
语法:
表达式 (Expression):表达式字段,可以通过 '+','-','*','/' 以及 '(',')' 进行运算。表达式仅可以引用单元格。
示例:
{{ =A18*0.05 }}
{{ =A18+D18-G18 }}
{{ =(A18+ A20)*0.3 }}
限制:
表达式字段,不能与模板属性一起使用。如:{{ =A18*0.05 (E=H) }}
模板函数字段和表达式字段,也暂时不支持一起使用。如:{{ =Sum(A5 + A6) }} 或者 {{ =Sum(A5) * 0.01}}
语法:
GcExcel 支持在工作表名称中使用绑定字段,这意味着工作表名称的字段值由数据源中的数据填充,并创建了多个工作表。每个工作表都包含与其值相对应的数据。
示例:
如下图所示:将工作表名称指定为{{dt.Region}} ,则最终报告将包含5个工作表,而单个工作表将包含特定区域的数据。
限制:
工作表名称字段仅支持 “sort” 和 “group” 模板属性。