logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
概述
配置说明

模板语法

基础用法
循环处理

格式化工具

概述
文本格式化
数字格式化
货币格式化
日期格式化
时间间隔格式化
数组格式化

高级功能

条件判断
高级特性
常见问题
应用场景
Previous Page条件判断
Next Page常见问题

#高级功能

#分页

#1. 页码更新

#语法

在 Office 软件中插入即可。

#示例

在 Microsoft Word 中:

  • 使用 “插入 → 页码” 功能
    在 LibreOffice 中:
  • 使用 “插入 → 字段 → 页码” 功能
#结果

生成的报告中,各页页码会自动更新。

#2. 目录生成

#语法

在 Office 软件中插入即可。

#示例

在 Microsoft Word 中:

  • 使用 “插入 → 索引和目录 → 目录” 功能
    在 LibreOffice 中:
  • 使用 “插入 → 目录和索引 → 目录、索引或参考书目” 功能
#结果

生成的报告目录会根据文档内容自动更新。

#3. 表头重复

#语法

在 Office 软件中插入即可。

#示例

在 Microsoft Word 中:

  • 右键点击表头 → 表格属性 → 勾选“在每页顶部重复作为标题行”
    在 LibreOffice 中:
  • 右键点击表头 → 表格属性 → 文本流选项卡 → 勾选“重复标题”
#结果

当表格跨页时,表头自动在每页顶部重复显示。

#国际化(i18n)

#1. 静态文本翻译

#语法

使用 {t(文本)} 标签对静态文本进行国际化:

{t(meeting)}
#示例

模板中:

{t(meeting)} {t(apples)}

JSON 数据或外部本地化字典(例如针对 "fr-fr")中提供对应翻译,如 "meeting" → "rendez-vous"、"apples" → "Pommes"。

#结果

生成报告时,文本将根据目标语言替换为相应翻译。

#2. 动态文本翻译

#语法

对于数据内容可使用 :t 格式器,例如:

{d.id:ifEQ(2):show({t(monday)}):elseShow({t(tuesday)})}
#示例

模板中:

{d.id:ifEQ(2):show({t(monday)}):elseShow({t(tuesday)})}

JSON 数据和本地化字典中提供相应翻译。

#结果

根据条件判断,输出 “lundi” 或 “mardi”(以目标语言为例)。

#键值映射

#1. 枚举转换(:convEnum)

#语法
{数据:convEnum(枚举名称)}

例如:

0:convEnum('ORDER_STATUS')
#示例

API options 示例中传入:

{
  "enum": {
    "ORDER_STATUS": ["pending", "sent", "delivered"]
  }
}

模板中:

0:convEnum('ORDER_STATUS')
#结果

输出 “pending”;若索引超出枚举范围,则输出原始值。

#动态图片

INFO

目前支持 XLSX, DOCX 类型的文件 ::: 你可以在文档模板中插入“动态图片”,也就是说,模板中的占位图会在渲染时根据数据自动替换为真实图片。这个过程非常简单,只需要:

  1. 插入一张临时图片作为占位符

  2. 编辑该图片的“替代文字”来设置字段标签

  3. 渲染文档,系统自动将其替换为实际图片

下面我们通过具体例子分别讲解 DOCX 和 XLSX 的操作方法。

#在 DOCX 文件中插入动态图片

#单张图片替换
  1. 打开你的 DOCX 模板,插入一张临时图片(可以是任意一张占位图片,比如纯蓝色图片)

:::info 图片格式说明

  • 目前占位符图片仅支持 PNG 类型的图片,推荐使用我们提供的示例图片纯蓝色图片
  • 目标渲染图片仅支持 PNG, JPG, JPEG 的图片,其他类型图片可能会渲染失败。

图片尺寸说明

无论是 DOCX 还是 XLSX,最终渲染时的图片大小,将会沿用模板中临时图片的尺寸。也就是说,实际替换进去的图片会自动缩放为和您插入的占位图一致的大小。如果您希望渲染后的图片大小为 150×150,请在模板中使用一张临时图片并调整为该尺寸。

  1. 右键点击这张图片,编辑其 “替代文字(Alt Text)”,填入你希望插入的图片字段标签,例如 {d.imageUrl}:

20250414211130-2025-04-14-21-11-31

  1. 使用如下示例数据进行渲染:
{
  "name": "Apple",
  "imageUrl": "https://images.pexels.com/photos/206959/pexels-photo-206959.jpeg",
}
  1. 渲染后的结果,临时图片会被替换为实际图片:

20250414203444-2025-04-14-20-34-46

#多张图片循环替换

如果你想在模板中插入一组图片,例如商品列表,也可以通过循环方式实现,具体步骤如下:

  1. 假设你的数据如下:
{
  "products": [
    {
      "name": "Apple",
      "imageUrl": "https://images.pexels.com/photos/206959/pexels-photo-206959.jpeg",
    },
    {
      "name": "Banana",
      "imageUrl": "https://images.pexels.com/photos/61127/pexels-photo-61127.jpeg",
    },
  ]
}
  1. 在 DOCX 模板中设置循环区域,并在每个循环项中插入临时图片,替代文字设置为 {d.products[i].imageUrl},如下所示:

20250414205418-2025-04-14-20-54-19

  1. 渲染后,所有临时图片都会被各自的数据图片替换:

20250414205503-2025-04-14-20-55-05

#在 XLSX 文件中插入动态图片

在 Excel 模板(XLSX)中操作方式基本一致,只是注意以下几点:

  1. 插入图片后,请确保选中的是“单元格内的图片”,而不是图片悬浮在单元格上方。

20250414211643-2025-04-14-21-16-45

  1. 选中单元格后点击查看“替代文字”来填入字段标签,比如 {d.imageUrl}。

#条码

INFO

目前支持 XLSX, DOCX 类型的文件

#生成条码(如二维码)

条形码的生成方式与动态图片相同,只需三步:

  1. 在模板中插入一张临时图片,用于标记条码的位置

  2. 编辑图片的“替代文字”,写入条码格式字段标签,例如 {d.code:barcode(qrcode)},其中 qrcode 是条码的类型(详见下方支持列表)

20250414214626-2025-04-14-21-46-28

  1. 渲染后,该占位图将被自动替换为对应的条码图像:

20250414214925-2025-04-14-21-49-26

#支持的条码类型

条码名称类型
二维码qrcode