跳到主要内容

文件模板

文件模板是一种文档生成工具,通过预设变量实现动态内容填充,可用于动态生成销售合同、生产工单、发票单据。 JitAi支持Word模板和Excel模板。

Word模板

采销人员为不同客户准备合同时,合同格式固定但客户信息和订单内容不同。通过Word模板设置客户姓名、产品名称、数量、金额等变量,快速生成个性化合同文档。

创建好的Word模板包括以下2个组成部分:

  1. 模板变量,在变量中设定变量名称,数据类型数据表模型
  2. Word文档,在Word文档中使用模板变量,在调用打印服务时,根据Word文档中的模板变量名称进行数据替换。

本文档中使用的原始数据:

配置好模板变量的Word文档:

打印效果展示:

创建Word模板

鼠标放到+按钮上,在“更多”选项,“文件模板”子选项中选中Word模板。

在新建Word模板对话框填写模板名称后,点击确定

创建Word模板变量

点击+ 添加模板变量按钮,在弹出的对话框中填写变量名称和 数据类型

提示

高级数据类型,如单行数据,多行数据,需要配置目标数据模型

配置好后的模板变量如下:

在Word文档中使用模板变量

在Word文档中使用模板变量,需要以下三步:

在本地电脑上创建Word文档(目前JitAi仅支持.docx格式文件),将变量代码复制到Word文档中并完成布局排版设计,将设计好的Word文档上传到平台。

从JitAi平台复制模板变量

鼠标放到变量名称上,点击复制复制变量代码,在下拉面板中选择“值”选项的”展示单行文本”。

提示

“展示单行文本”是模板变量的一种常用展示样式,变量的值在文档中以单行文本形式展示。

JitAi支持30+种模板变量样式,包括文本处理、数值计算、日期格式化、列表操作等,帮助您实现各种复杂的数据展示需求。详细用法请参考:模板变量样式说明

在Word文档中使用变量:

复制、粘贴其他变量:

最终Word文档内容:

上传配置好的Word文档。

打印Word模板

调用打印服务的组件的数据模型需要与模板变量的目标数据表保持一致。

一般在按钮事件中调用打印服务:

  1. 在事件编辑区,点击语句中的”请选择“,在弹出窗中选择”工具函数“下的”打印文件模板“选项,会生成工具函数.打印文件模板。
  2. 点击工具函数.打印文件模板的设置参数按钮,在弹出的对话框中设置模板类型、文件模板,并给模板变量赋值。

配置好的参数如下图:

使用效果如下图:

Excel模板

财务部门制作月度销售报表时,报表格式固定但数据需要动态填充。通过Excel模板设置销售人员、产品类别、销售数量、金额等变量,快速生成标准化销售分析报表。

本文档中使用的原始数据:

配置好模板变量的Excel文档

打印效果

创建Excel模板

Excel模板的创建方式和Word模板创建方式一样。

鼠标放到+按钮上,在"更多"选项,"文件模板"子选项中选中Excel模板。

创建好的Excel模板包括以下2个组成部分:

  1. 模板变量,在变量中设定变量名称,数据类型数据表模型
  2. Excel文档,在Excel文档中使用模板变量,在调用打印服务时,根据Excel文档中的模板变量名称进行数据替换。

创建Excel模板变量

点击+ 添加模板变量按钮,在弹出的对话框中填写变量名称和 数据类型

配置好的变量如下图:

在Excel文档中使用模板变量

在Excel文档中使用模板变量,需要以下三步: 在本地电脑上创建Excel文档(目前JitAi仅支持.xlsx格式文件),将变量代码复制到Excel文档中并完成布局排版设计,将设计好的Excel文档上传到平台。

从JitAi平台复制模板变量

鼠标放到变量名称上,点击复制复制变量代码,在下拉面板中选择“值”选项的“展示多行数据”。

提示

“展示多行数据”,是将值在文档中通过循环语句展示成多行多列。

JitAi支持30+种模板变量样式,包括文本处理、数值计算、日期格式化、列表操作等,帮助您实现各种复杂的数据展示需求。详细用法请参考:模板变量样式说明

在Excel文档中粘贴变量

在Excel文件中粘贴刚才复制的变量,调整第二行的变量顺序与表头对应。第二行的变量名跟目标表模型中的表字段名称对应。

提示
  1. 如果需要横向打印,在Excel文件中直接调整纸张方向。设置好变量后可以先使用打印预览功能预览最终打印效果。
  2. 针对部分特定样式,如展示图片/超链接/多行数据,要注意检查对应的变量输出能否满足数据要求。
  3. 在进行模板代码布局排版时,要结合预计输出的数据预留足够的单元格大小,如多行文本/图片。

目标表模型变量名称:

上传调整好的Excel文档

打印Excel模板

在需要调用模板打印的组件中创建按钮。

配置按钮事件:

  1. 在事件编辑区,点击语句中的”请选择“,在弹出窗中选择”工具函数“下的”打印文件模板“选项,会生成工具函数.打印文件模板。
  2. 点击工具函数.打印文件模板的设置参数按钮,在弹出框中设置模板类型、文件模板,并给模板变量赋值。

最后,检验模板打印效果:

模板变量样式说明

文本样式

类型标题函数名备注模板代码
文本类展示单行文本ToString将对应输入以单行文本形式展示{{a.value.ToString}}
文本类展示多行文本ToLine依据输入中的回车转换为多行文本展示{{a.value.ToLine}}
文本类展示图片ToPicture将对应输入转换为图片展示;{{a.value.ToPicture}}
文本类展示超链接ToLink将对应输入转换为超链接展示;{{a.value.ToLink}}
文本类展示下拉值ToSelect将对应输入转换为下拉框展示;{{a.value.ToSelect}}
文本类等宽换行ToEquallyLine(int)将对应输入按照指定长度切换行,默认不换行{{a.value.ToEquallyLine(int)}}
文本类左截断指定长度ToTrimLeft(int)将对应输入截断指定长度展示,默认不截断{{a.value.ToTrimLeft(int)}}
文本类右截断指定长度ToTrimRight(int)将对应输入截断指定长度展示,默认不截断{{a.value.ToTrimRight(int)}}
文本类生成二维码genQrCode()基于文本内容生成二维码。{{a.value.genQrCode()}}
文本类生成条形码genBarcode()基于文本内容生成条形码,需传入二维码类型(codeType){{a.value.genBarcode(codeType="EAN13")}}

数值类样式

类型标题函数名备注模板代码
数值类展示数值ToNum将输入的数值直接展示{{a.value.ToNum}}
数值类保留指定小数位ToRound(int)将输入的数值保留指定位数(四舍五入),默认不保留表示都保留{{a.value.ToRound(int)}}
数值类截断指定位数ToTruncate(int)将输入的数值保留指定位数(截断),默认不保留表示不截断{{a.value.ToTruncate(int)}}
数值类取绝对值ToAbs将输入的数值取绝对值{{a.value.ToAbs}}

日期时间类样式

类型标题函数名备注模板代码
日期时间类展示日期时间格式ToDatetime获取年月日时分秒YYYMMDDthhmmss形式展示{{a.value.ToDatetime}}
日期时间类展示日期格式ToDate获取年月日YYYYMMDD形式展示;{{a.value.ToDate}}
日期时间类展示时间格式ToTime获取时分秒thhmmss形式展示;{{a.value.ToTime}}

多值类样式(复杂类型)

类型标题函数名备注模板代码
列表展示多行数据ToDataSet获取对应输入以数据集合展示(多行模板,字典不区分横向/纵向,多行多列展示){% for each in data.value.ToDataSet %} {{each.name}} {{each.age}} {% endfor %}
列表横向展示列表ToList获取数据集横向展示(对应多格适应)(默认获取文本值展示){% for each in data.value.ToList %} {{each}} {% endfor %}
列表纵向展示列表ToList获取数据集纵向展示(对应多格适应)(默认获取文本值展示){% for each in data.value.ToList %} {{each}} {% endfor %}
列表横向展示图片列表ToListPicture获取图片数据集横向展示{{a.value.ToListPicture}}
列表纵向展示图片列表ToListColumnPicture获取图片数据集纵向展示{{a.value.ToListColumnPicture}}
列表展示列表首个数据ToFirst获取对应输入集合中第一个对象展示;(默认获取文本值展示){{a.value.ToFirst}}
列表展示列表首张图片ToFirstPicture获取对应输入集合中第一个对象展示;(使用图片渲染){{a.value.ToFirstPicture}}
列表展示列表最大值ToMax获取对应输入集合最大值{{a.value.ToMax}}
列表展示列表最小值ToMin获取对应输入集合最小值{{a.value.ToMin}}
列表展示列表平均值ToAvg获取对应输入集合平均值{{a.value.ToAvg}}
列表展示列表总和ToSum获取对应输入集合之和{{a.value.ToSum}}
列表展示列表个数ToCount获取对应输入集合个数{{a.value.ToCount}}
字典横向展示字典ToDictionary获取字典数据横向展示{{a.value.ToDictionary.key}}
字典纵向展示字典ToDictionary获取字典数据纵向展示{{a.value.ToDictionary.key}}