报表设计

报表设计通过 Excel 模板的方式来建立,其原理是预先设置 Excel 的格式,并将变化的部分通过“占位符”替代,系统会在输出报表时自动替换“占位符”内容。报表模板同时也支持 Excel 常用函数,例如汇总等。

报表模板配置完成后可在记录视图中使用(针对单条数据),或在数据列表中使用(针对多条数据)(即列表模板)。

编写报表模板

占位符是以 {} 包裹的内容,例如 {createdOn}(创建时间),仅需将其填写在相应的单元格上。对于 Excel 格式(如字体大小、背景色等)可根据自身需求随意调整,仅需遵循占位符规则即可。下图展示了一个 Excel 报表模板内容。

其中 {orderNumber} {ctratedOn} 等都是占位符,占位符为字段的内部标识,可以进入实体的“字段管理”中查看。如果字段是“引用”类型,还可以通过 点连接 的方式跨实体使用。例如订单中有 AccountId 引用字段(引用自客户),那么可以使用 AccountId.phone 来获取客户联系电话。

? 报表模板暂不支持图片、附件字段

从 V3.2 开始支持图片字段导出,若一个字段中包括多张仅支持导出第一张。同时图片类字段(包括二维码字段、签名字段)必须使用单独的单元格,否则可能出现错误

包括明细实体

如果实体有明细实体,也支持一并输出(支持多条明细记录),仅需在占位符的基础上多加一个 . 符号即可,如 {.productName}。但请注意,明细字段占位符仅支持横向的排列方式,即排列在同一行。

包括审批流程 ~~v2.9

RB 同时支持审批流程的输出,与明细实体类似,审批流程通常包含多条审批节点(记录)。仅需在占位符的基础上多加一个 .approval 符号即可,其可用字段如下。

字段 说明
.approval.approver 审批人
.approval.approvedTime 审批时间
.approval.remark 批注
.approval.state 审批状态(通过/驳回)

模板示例

以下示例包含了主记录、明细记录、审批流程。

使用报表

上传模板

当报表模板设计好后,管理员需要将其上传至 RB 才能被其他用户使用。进入管理中心 - 报表模板,点击右上角 [添加] 按钮。

  1. 选择报表对应的实体,即此模板适用于哪个实体
  2. 上传模板文件
  3. 如果这是一个在列表中使用的模板请勾选此项(即在数据列表中使用的模板) ~~v2.6
  4. 导出的报表名称会使用此名称

填写好以后点击 [确定] 即可,如有多个报表模板请逐一添加。

下载报表

当管理员为某个实体添加了报表模板后,用户便可以在实体记录详情页使用此报表模板,如下图所示。

  1. 点击下载报表文件
  2. 直接在线打开查看或打印(需正确配置 文档预览服务地址 后可用)~~v3.0

在列表中使用

从 V2.6 版本开始,RB 支持为列表页面的导出配置模板(默认列表导出为 CSV 文件格式),模板编写规则与上文中提到的 明细实体 类似,即占位符中多加一个 . 符号,且横向的排列在同一行。

常见问题

  1. 如需在主记录报表模板中使用(引用字段)点连接,需要使用 $ 符号代替 .,例如 {createdBy.email} 调整为 {createdBy$email}(此问题是由第三方报表库引起,RB 暂时无法解决)
  2. 使用列表时可能出现无变量单元格无边框线,此时可以在空单元格中添加占位变量 {.__KEEP} 解决,同时此变量支持传入占位文本,例如 {.__KEEP:块}
  3. 如需在报表中输出当前用户(姓名),可通过占位变量 {__CURRENTUSER} 获取
  4. 如需输出列表序号可通过占位变量 {.__NUMBER} 解决

  1. 列表模板应尽量避免合并单元格,否则可能出现 Cannot add merged region XX:XX to sheet ... 错误

使用 Excel 函数

如需在列表模板中使用函数,对于应用在列的函数请至少包含两个单元格才可以正确计算,如下图所示:

对于应用在行的函数需要特殊编写,请使用 {.__KEEP:(=XXXX)} 的方式包括函数(XXXX为实际的函数)(此功能从 V3.2 开始支持),如下图所示:

复杂报表需求

对于复杂的报表需求可以购买我们的 商业服务 进行定制。

该文档内容对您是否有帮助?没有
如有任何疑问,请与我们的 社区QQ 群 联系
更新时间 12/7/2023, 11:36:18 PM
目录