跳到主要内容
博客 · 文档自动化

如何创建邮件合并 Mustache 模板?

2022年10月18日 · 使用 Mustache 语法创建邮件合并 Word 模板。了解如何创建包含动态表格的文档,以实现文档生成自动化。

什么是邮件合并?

邮件合并是一种从数据源读取数据并替换另一个文档中相应变量的方法。它通常需要两个文件:一个用于存储合并字段(即要插入的数据变量);另一个包含格式化变量数据的指令以及在邮件合并的每个结果中都相同的信息。

例如,数据可以从数据库、JSON、CSV、Excel 表格、Google 表格或其他结构化数据格式中读取,并插入到现有的文档模板中,用于电子邮件、发票或任何其他需要动态填充数据的文档。这些模板通常可以是 Word 文档、PDF、电子邮件、格式信函等。

如何使用 Mustache 语法创建模板?

在 Mustache 中创建 Word 模板需要对基本代码有一定的了解。虽然 Mustache 本身并非模板语法,但它在创建可用于邮件合并的高级模板方面非常有用。让我们来看下面的示例,了解如何使用 Mustache 语法来创建一些优秀的模板。

上面的发票模板完全使用 Mustache 语法设计。该 Word 模板利用 Mustache 设计动态的页眉、正文、页脚,甚至模板内的表格。

让我们来看看每种语法是如何帮助填充数据以生成动态发票的。

标题

{} - 表示头部的开始。头部区域内需添加语法{{/foreach header}} - 表示头部的结束

正文 -必填

{} - 标记文档主体内容的开始{{/foreach body}} - 标记文档主体内容的结束

页脚

{} - 设置文档页脚的起始位置。语法需添加到页脚区域内。 {{/foreach footer}} - 设置文档页脚的结束位置。

您可以将上述示例发票的数据以 JSON 格式传递给 Mustache 模板。以下是生成上述模板文档的示例数据。

{ "文档": [ { "页眉": { "文档类型": "原件" }, "正文": { "列1": "数量", "列2": "描述", "列3": "单价", "列4": "总计", "发票": { "编号": 14957, "日期": "2022年2月25日", "说明": "发票1说明", "小计": 200150, "税额": "18%", "到期日": "2022年3月25日", "运费": "200" }, "开票人": { "电话": "989797", "传真": "998463", "电子邮件": "doc1@email.com", "网址": "www.doc1.com", "地址": { "公司": "机构1", "街道": "街道1", "城市": "城市1", "邮编": "123456" } }, "收件人": { "姓名": "收件人 1", "地址": { "街道": "testveien 3 ", "城市": "城市 1", "邮编": "0555", "国家": "国家 1" } }, "产品": [ { "数量": 1, "描述": "商品 1", "单价": 45, "总价": 867 }, { "数量": 2, "描述": "商品 2", "单价": 123, "总价": 3464 }, { "数量": 3, "描述": "商品 3", "单价": 323, "总价": 6564 } ] }, "页脚": { "电话": "phone123", "传真": "fax123", "电子邮件": "123@mail.com", "网址": "www.123.com" }

} ] }

模板中的 IF 语句

Microsoft Word 允许您将邮件合并域和Mustache 标签与 IF 语句结合使用。这在生成带有条件值的文档时非常有用。IF 合并域可以防止在条件不满足或值为空时出现不必要的空格。

{ 如果 [条件] [显示值 1] [显示值 2] }

例如

把你的文件准备好。

您可以使用 API 将其集成到您的产品中,无需编写代码即可实现自动化,或者使用浏览器中的免费工具。无需信用卡即可开始。

从一次通话开始curl -X POST https://api.pdf4me.com/v1/ConvertToPdf

免费版 · 无需信用卡