“导出WORD或WPS格式文档”版本间的差异
来自企业管理软件文档中心
第31行: | 第31行: | ||
===循环标签=== | ===循环标签=== | ||
− | * 循环标签基本定义与图片标签相似,只是循环标签还需要有“循环结束”标签进行配套使用,标签数据项用明细表名称,被括起来的普通标签数据项需要前面加明细表的名称+英文的句号(点.),如:$[[循环]明细表1$] $[明细表1.标题$] $[[结束循环]明细表1$] | + | * 循环标签基本定义与图片标签相似,只是循环标签还需要有“循环结束”标签进行配套使用,标签数据项用明细表名称,被括起来的普通标签数据项需要前面加明细表的名称+英文的句号(点.),如:'''$[[循环]明细表1$] $[明细表1.标题$] $[[结束循环]明细表1$]''' |
====表格行循环==== | ====表格行循环==== | ||
* 如果需要将明细表的内容在表格的行进行循环显示,则将两个标签分别放在表格数据行的第一个格子及最后一个格子,如: | * 如果需要将明细表的内容在表格的行进行循环显示,则将两个标签分别放在表格数据行的第一个格子及最后一个格子,如: |
2019年3月29日 (五) 17:28的版本
目录
简介
- 在使用云表的过程中,我们都知道可以将表单或总表导出为Excel表格,但有时我们还需要将表单导出为word文档(如系统中的公告、合同表单或参考资料等),根据使用者的需求,云表开发了将表单导出为word文档的功能。
使用说明
- 具体方法为,在word文档中,建立与云表模板中相同的数据项,并生成xml文件。此xml文件为导出word文档的模板样式。通过此xml模板,可以导出无数个相同格式的word文档。
制作导出Word样式模板
- 用word生成XML文件,放置在D:\Latosoft\LatoServer\Data\formStyle目录下。
- Word文档填写方法:
普通标签
- 普通标签分三部分,分别是标签开始,标签字段,标签结束。
- 1.标签开始
- 使用英文的$[作为一个标签的开始;
- 2.标签结束
- 使用英文的$]作为一个标签的结束,一个标签的开始必须带有结束标签,不然该标签不是一个完整的标签,生成word是无法绑定数据源的;
- 3.标签字段
- 标签开始和标签结束之间的就是标签数据项,该数据项需要与表单定义的数据项名称一致;
- 如:$[姓名$] 他对应了云表模板中“姓名”数据项。
图片标签
- 标签格式与普通标签一致,也是有标签开始,标签数据项,标签结束,不过在标签数据项前面有“[图片]”这个标识,如:$[[图片]合影$]
其中,“合影”就是标签数据项,“[图片]”只是特殊标识,让系统判断该数据项是图片数据类型;同时,该图片标签后面需要上传一张图片,用于占位及控制大小,注意图片环绕形式只能是嵌入型,如:
- $[[图片]合影$]
循环标签
- 循环标签基本定义与图片标签相似,只是循环标签还需要有“循环结束”标签进行配套使用,标签数据项用明细表名称,被括起来的普通标签数据项需要前面加明细表的名称+英文的句号(点.),如:$[[循环]明细表1$] $[明细表1.标题$] $[[结束循环]明细表1$]
表格行循环
- 如果需要将明细表的内容在表格的行进行循环显示,则将两个标签分别放在表格数据行的第一个格子及最后一个格子,如:
段落循环
- 如果想实现某段落或者页的循环,则将两个标签分别放在需要循环的段落的前和后两个位置,如:
- $[[循环]明细表1$]
- 用户名: $[明细表1.姓名$]
- 日期: $[明细表1.日期$]
- $[明细表1.正文内容$]
- $[[结束循环]明细表1$]
高级标签
- 这里提供某些特殊数据类型的特殊用法,该高级用法遵循freemarker 标签语法,但是需要在高级标签外面加[$和$]作为开始和结束,以下是一些常用的高级用法,其他更多用法可参考https://www.cnblogs.com/hwaggLee/p/4541586.html。
日期类型字段转换显示
- 当数据项的数据类型是日期类型,如果需要指定显示精度,可以在数据项后面加“_对象”,再配合标签格式进行定制化显示:
- 如:$[最后更新时间_对象?string(“yyyy-mm-dd HH:mm:ss zzzz”)$]
- 效果:2017-12-23 14:12:20 中国标准时间
数字类型数据项转换显示
- 当数据项的属性是数字类型,如果需要指定显示精度,可以在数据项后面加“_对象”,再配合格式化标签进行显示;
- 数字格式化插值可采用$[#{字段名称;format}$]的形式来格式化数字,其中format可以是:
- mX:小数部分最小X位
- MX:小数部分最大X位
- 如:$[#{浏览次数;m2}$]
- 效果:123.00
真假类型数据项转换显示
- 如果数据项属性是判断类型,可以分别对真假分别显示不同内容
- 如:$[是否打印?string(“已打印”,“未打印”)$]
- 效果:已打印
判断语句
- 如果需要对模板某部分内容进行判断是否显示,可以用以下if标签进行判断,以下是if标签的两种常用用法:
- 判断是否有值,加两个英文的?在需要判断的数据项后面,如果需要判断是否为空,则在数据项前面再加一个!,如:
- $[[#if !正文内容??]$]
- 这个是没有正文内容的
- $[[/#if]$]
- 判断字符串相等与否,可以使用==和!=判断符号:
- $[[#if 是否合影 == “是”]$]
- 这个是有合影的
- $[[/#if]$]
- 模板内容举例
- 注意事项:
- 1.标签开始$[和标签结束$]这两个字符,必须要同一字体,中间不能有空格,而且需要同时录入,如果生成word之后,这两个标签标记没有被数据源替换,请重新键盘录入;
- 2.图片标签后面必须要上传一个图片,并且图片只能是嵌入型,该模板里面的图片最后是会被替换的;
- 3.明细表数据要显示出来,必须得放在循环标签内;
- 4.如果标签写法不合法的时候,生成word时候会出现错误,理论上会提示出错的标签是哪个,但是如果没有则需要用排除法自行确认;
- 5.标签里面的中文“”‘’&<>符号会自动替换为英文的",如果不想被替换,需要在前面加\即可;
- 6.模板word文档做好之后,office word需要另存为“Word 2003 XML 文档(*.xml)”格式,WPS另存为“XML 文件(*.xml)”格式,并上传到表单的模板中,其他格式无法作为模板文件,请注意格式;
- 7.暂时不支持换行的多行文本及富文本内容;
custom.conf文件配置
- 配置custom.conf文件,custom.conf文件在安装目录D:\Latosoft\LatoServer\Data\conf中(需要注意的是,如果在D:\Latosoft\LatoServer\Data文件夹中没有conf文件夹,那么需要在Data文件夹中新建一个conf文件夹,然后再新建一个文本文档,命名为custom.conf)
- custom.conf文件配置方法:
- (要导出为word文档的表单所在应用空间ID).(云表空间中导出word的模板名称)=[{"styleName":"(样式名称,可自定义)","url":".(样式文件名称,即生成的xml文件名称).xml"},{"styleName":"(样式名称,可自定义)","url":"(样式文件名称,即生成的xml文件名称).xml"}]
- 样式名称和样式文件名称各填写一个就行,此例中表示可以有两种样式。
配置完成后需重启服务器
云表空间模板设置
- 1.在要导出word文档的模板-填表公式中,新建工具栏按钮,按钮标题设置为“导出word文档”;
- 2.添加公式:打开表单
- 表单模板:使用需要导出信息的模板(即本模板);
- 样式名称:就是我们写的自定义配置文件里面的styleName(样式名称);
- 表单ID:当填写“本表单.sysFormID”时,表示导出当前表单,也可以用其他方式填写,如填写具体的表单ID数值,或根据数据项的内容。
- 例:我们在生成的xml文件中设置数据项为:
- $[标题$]
- $[作者$]
- $[内容$]
- 那么在云表模板中也要定义三个数据项,“标题”,“作者”,“内容” 这样在表单中“标题”数据项填入的数据,在导出WORD文档后,数据就会生成到word中$[标题$] 处,表单中“作者”数据项处填入的数据,在导出后会生成到word中 $[作者$]处,所有数据均是以此对应。
实例
- 例如我们要将销售订单,导出为word文档。
- 首先我们需要知道销售订单都有哪些数据项需要导出。
- 例如我们将表中的所有数据项的数据都导出为word文档。
- 那面我们需要先建立一个word文档,将表单中的数据项以前文讲过的的填写方式列出来。
- 然后,将此word文档另存为.xml格式文件,命名为:销售订单。并放置在D:\Latosoft\LatoServer\Data\formStyle目录下。
- 配置custom.conf文件。我们首先找到D:\Latosoft\LatoServer\Data\conf这个目录(若没有conf文件夹,那么就手动建立一个文件夹,命名为conf)。然后以记事本(或文本文档)的方式打开custom.conf(若没有custom.conf文件,那么就手动建立一个文本文档或记事本,然后命名为custom.conf)。配置内容如下。
- 注:配置好custom.conf文件后,需要重新启动服务器。
- 重启服务器后,进入云表系统中的销售订单模板。建立填表公式-工具栏按钮-选择打开表单。
- 表单模板,选择“销售订单”,样式名称为“销售订单”(就是我们配置的custom.conf文件中的styleName(样式名称))。
- 并选择根据表单ID进行匹配,匹配内容为:本表单.sysFormID(意思为导出当前表单)。
- 设置好后,保存模板,在总表中打开某张销售订单,点击刚刚建立的按钮,选择要导出到哪个文件夹,并填写导出word的文档名称。点击确定后,即可成功导出为word文档。