“导出WORD或WPS格式文档”版本间的差异
小 (Even移动页面导出word使用方法至导出WORD或WPS格式文档:更新文档标题) |
|||
第1行: | 第1行: | ||
− | = | + | =一、简介= |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | 在使用云表的过程中,我们都知道可以将表单或总表导出为Excel表格,但有时我们还需要将表单导出为word文档(如系统中的公告、合同表单或参考资料等),根据使用者的需求,云表开发了将表单导出为word文档的功能。 | |
− | + | ||
− | + | ||
− | + | ||
− | [[文件:NDCWD1.png|720px|无框|左]] | + | |
− | + | =二、使用说明= | |
+ | |||
+ | 具体方法分为2步: | ||
+ | |||
+ | '''''1、制作Word文档的样式模版''''' | ||
+ | |||
+ | '''''2、在云表中进行配置''''' | ||
+ | |||
+ | ==2.1 制作导出Word样式模板== | ||
+ | |||
+ | <big>'''什么是样式模版?'''</big> | ||
+ | |||
+ | 样式模版是用于记录Word文档中数据样式的,和云表的模版作用一样,Word样式模版除了样式以外,同样有数据项。 | ||
+ | |||
+ | 在Word文档中,创建与云表模板相同的数据项,按照样式模版的编写规则生成xml文件。 | ||
+ | |||
+ | 此xml文件就是导出Word文档的样式模板,通过它,我们就可以导出无数个相同格式的文档。 | ||
+ | |||
+ | <big>'''什么是标签?'''</big> | ||
+ | |||
+ | 程序通过识别“标签”找到数据要填入的位置,可以理解为Word样式模版的标签就是云表模版中的数据项。 | ||
+ | |||
+ | 标签共有N种,我们需要了解每种标签的编写规则。 | ||
+ | |||
+ | |||
+ | ===<1>普通标签=== | ||
+ | |||
+ | *<font color="red">'''$[姓名$]'''</font> 就是一个普通标签,对应“姓名”数据项。 | ||
+ | *普通标签分三个部分,分别是“标签头”、“标签尾”和“标签内容”,用于管理“文本”数据项。 | ||
+ | |||
+ | '''1、标签头''' | ||
+ | *标签头是程序识别标签开始的标志,用英文格式的<font color="red"><big>''' $[ '''</big></font>表示。 | ||
+ | |||
+ | '''2、标签尾''' | ||
+ | *标签尾是程序识别标签结束的标志,用英文格式的<font color="red"><big>''' $] '''</big></font>表示。 | ||
+ | *'''注意:'''标签头和标签尾就如同“左括号”和“右括号”,必须成对出现才是一个完整的标签。只有完整的标签才能被程序识别; | ||
+ | |||
+ | '''3、标签内容''' | ||
+ | *“标签头”和“标签尾”组合在一起,就成了一个“数据项”,至于这是什么数据项,就要看“标签内容”了。 | ||
+ | *标签内容是填写在普通标签中,用于匹配云表模版中的数据项,所以标签内容要与模版定义的数据项'''名称'''一致; | ||
+ | *如:<font color="red">'''$[姓名$]'''</font> 就对应云表模板中“姓名”数据项。 | ||
+ | |||
+ | |||
+ | ===<2>图片标签=== | ||
+ | *和普通标签类型类似,除了'''标签头'''、'''标签尾'''和'''标签内容'''以外,还有'''“占位图”'''组成。 | ||
+ | *'''图片标签的标签头''':为了让程序识别这个标签对应的是图片数据项,在标签头后面需要加上“[图片]”作为标识。 | ||
+ | *'''图片标签的占位图''':为了控制图片在导出文档中的位置和大小,需要在图片标签后面上传一张图片,注意图片环绕形式只能是嵌入型,这样图片可以是任意内容,因为在导出时,会被替换成表单中图片数据项的内容。 | ||
+ | |||
+ | <big>如:<font color="red">'''$[[图片]合影$]'''</font></big> | ||
+ | *“[图片]”是特殊标识,让系统判断该数据项是图片数据类型;“合影”就是数据项的名称。 | ||
+ | |||
+ | ----------------------------- | ||
+ | '''$[[图片]合影$]''' | ||
+ | [[文件:NDCWD1.png|720px|无框|左]] | ||
* | * | ||
* | * | ||
第29行: | 第64行: | ||
* | * | ||
* | * | ||
+ | ----------------------------- | ||
+ | |||
+ | |||
+ | ===<3>循环标签=== | ||
+ | |||
+ | <font color="red">'''$[[循环]明细表1$] $[明细表1.标题$] $[[结束循环]明细表1$]'''</font>循环标签是一种特殊的标签类型,用于明细表的数据项管理,可细分为“明细表行循环”和“段落循环”。 | ||
+ | |||
+ | 和图片标签类似,需要在普通标签的基础上给程序做特殊的“标识”。 | ||
+ | |||
+ | 1、循环标签的标签头和标签尾: | ||
+ | |||
+ | *在普通标签头后增加[循环],并在标识后填写明细表的名称,即<font color="red">''' $[[循环]明细表1$]'''</font>; | ||
+ | *在普通标签尾后增加[结束循环],并在标识后填写明细表的名称,即<font color="red">''' $[[结束循环]明细表1$] '''</font>; | ||
+ | *标签头和标签尾仍然要配套使用。 | ||
+ | |||
+ | 2、循环标签的明细表数据项标签: | ||
+ | |||
+ | 格式如下:<font color="red">''' $[明细表1.标题$] '''</font>,“$[ $]”之间的内容是明细表的数据项,写法为“明细表名称.数据项名称”;这个格式跟普通标签非常相似,只能在循环标签的标签头和标签尾之间使用。 | ||
+ | |||
+ | |||
+ | ====<3.1>Word表格行循环==== | ||
+ | |||
+ | 如果需要将明细表的内容在Word文档中,以<font color="blue">'''表格形式'''</font>进行循环显示,需要将两个标签分别放在表格数据行的第一个格子及最后一个格子,中间的单元格则填入明细表数据项标签,如下图: | ||
− | |||
− | |||
− | |||
− | |||
[[文件:NDCWD0.png|720px|无框|居中]] | [[文件:NDCWD0.png|720px|无框|居中]] | ||
− | |||
− | |||
+ | ====<3.2>段落循环==== | ||
+ | |||
+ | 如果想实现以<font color="blue">'''段落'''</font>或者<font color="blue">'''页'''</font>的循环,则将两个标签分别放在需要循环的段落的前和后两个位置,如: | ||
+ | ----------------------------- | ||
* $[[循环]明细表1$] | * $[[循环]明细表1$] | ||
第46行: | 第102行: | ||
* $[[结束循环]明细表1$] | * $[[结束循环]明细表1$] | ||
+ | ----------------------------- | ||
− | ===高级标签=== | + | |
− | + | ===<4>高级标签=== | |
− | ==== | + | |
− | + | 高级标签是指某些特殊数据类型的特殊用法,遵循freemarker的标签语法,但是需要在高级标签外面加<font color="red">'''"$["'''</font>和<font color="red">'''“$]”'''</font>作为标签的开始和结束,以下是一些常用的高级用法,其他更多用法可参考https://www.cnblogs.com/hwaggLee/p/4541586.html。 | |
− | + | ||
− | + | ====<4.1>日期类型数据项转换显示==== | |
− | ====数字类型数据项转换显示==== | + | |
− | + | 当数据项的数据类型是日期类型,如果需要指定显示精度,可以在数据项后面加“_对象”,再配合标签格式进行定制化显示: | |
− | + | ||
− | + | 写法:<font color="red">'''$['''</font><font color="blue">最后更新时间_对象?string(“yyyy-mm-dd HH:mm:ss zzzz”)</font><font color="red">'''$]'''</font> | |
− | * | + | |
− | + | 效果:2017-12-23 14:12:20 中国标准时间 | |
− | + | ||
− | ====真假类型数据项转换显示==== | + | ====<4.2>数字类型数据项转换显示==== |
− | + | ||
− | + | 当数据项的属性是数字类型,如需要指定显示精度,可以在数据项后面加“_对象”,再配合格式化标签进行显示; | |
− | + | ||
− | ====判断语句==== | + | 数字格式化可采用$[#{字段名称;format}$]的形式来格式化数字,其中format可以是: |
− | + | ||
− | + | mX:小数部分最小X位 | |
− | * $[[#if !正文内容??]$] | + | *MX:小数部分最大X位 |
+ | |||
+ | 写法:<font color="red">'''$['''</font><font color="blue">#{浏览次数;m2}</font><font color="red">'''$]'''</font> | ||
+ | |||
+ | 效果:123.00 | ||
+ | |||
+ | ====<4.3>真假类型数据项转换显示==== | ||
+ | |||
+ | 如果数据项属性是判断类型(也叫是否型、布尔型),可以对值的结果“真”/“假”,分别显示不同内容。 | ||
+ | |||
+ | 写法:<font color="red">'''$['''</font><font color="blue">是否打印?string(“已打印”,“未打印”)</font><font color="red">'''$]'''</font> | ||
+ | |||
+ | 效果:已打印 | ||
+ | |||
+ | ====<4.4>判断语句==== | ||
+ | |||
+ | 如果需要对模板某部分内容进行判断是否显示,可以用以下if标签进行判断,以下是if标签的两种常用用法: | ||
+ | |||
+ | ---- | ||
+ | 1、判断是否有值,加两个英文的?在需要判断的数据项后面,如果需要判断是否为空,则在数据项前面再加一个!,如: | ||
+ | * <font color="red">'''$['''</font><font color="blue">[#if !正文内容??]$]</font><font color="red">'''$]'''</font> | ||
* 这个是没有正文内容的 | * 这个是没有正文内容的 | ||
− | * $[[/#if]$] | + | * <font color="red">'''$['''</font><font color="blue">[/#if]$]</font><font color="red">'''$]'''</font> |
+ | ---- | ||
− | + | ---- | |
− | * $[[#if 是否合影 == | + | 2、判断字符串相等与否,可以使用判断符号相等“==”或者不相等“!=”: |
+ | * <font color="red">'''$['''</font><font color="blue">[#if 是否合影 ==“是”]$]</font><font color="red">'''$]'''</font> | ||
* 这个是有合影的 | * 这个是有合影的 | ||
− | * $[[/#if]$] | + | * <font color="red">'''$['''</font><font color="blue">[/#if]$]</font><font color="red">'''$]'''</font> |
+ | ---- | ||
− | + | <big>'''模板内容举例'''</big> | |
[[文件:NDCWD2.png|720px|无框|居中]] | [[文件:NDCWD2.png|720px|无框|居中]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | <big><font color="red">'''注意事项:'''</font></big> |
− | + | 1、标签开始$[和标签结束$]这两个字符,必须要<font color="red">'''同一字体'''</font>,中间<font color="red">'''不能有空格'''</font>,而且需要<font color="red">'''同时录入'''</font>,如果生成word之后,如果这两个标签标记没有被数据源替换,请重新键盘录入(这是因为Word会把这两个字符分开不同段落); | |
− | + | ||
− | + | 2、图片标签后面必须要上传一个图片进行占位,并且图片只能是嵌入型,该模板里面的图片最后是会被替换的; | |
− | + | ||
− | + | 3、明细表数据要显示出来,必须得放在循环标签内; | |
+ | |||
+ | 4、如果标签写法不合法的时候,生成Word时候会出现错误,理论上会提示出错的标签是哪个,但是如果没有则需要用排除法自行确认; | ||
+ | |||
+ | 5、标签里面的中文“”‘’&<>符号会自动替换为英文的",如果不想被替换,需要在前面加<font color="red">'''“\”'''</font>即可; | ||
+ | |||
+ | 6、模板Word文档做好之后,office需要另存为“Word 2003 XML 文档(*.xml)”格式,而WPS则要另存为“XML 文件(*.xml)”格式,并上传到表单的模板中,其他格式无法作为模板文件,请注意格式; | ||
+ | |||
+ | 7、暂时不支持换行的多行文本及富文本内容; | ||
+ | |||
+ | |||
+ | ==2.2 在云表中进行配置== | ||
+ | |||
+ | <big>目前云表支持2种配置方式:</big> | ||
+ | |||
+ | <big>1、本地配置管理样式模版(适用于未开通企业云盘的应用空间)</big> | ||
+ | |||
+ | <big>2、<font color="red">'''【推荐】'''</font>企业云盘管理样式模版(适用于已开通企业云盘的应用空间)</big> | ||
+ | |||
+ | |||
+ | ===A、本地配置管理样式模版=== | ||
+ | |||
+ | ====1、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"}] | ||
+ | |||
+ | 样式名称和样式文件名称各填写一个就行,此例中表示可以有两种样式。 | ||
+ | |||
+ | <font color="red">配置完成后需重启服务器。</font> | ||
[[文件:NDCWD3.png|720px|无框|居中]] | [[文件:NDCWD3.png|720px|无框|居中]] | ||
− | == | + | |
− | + | ====2、云表空间模板设置==== | |
− | + | ||
+ | 1、在要导出Word文档的模板-填表公式中,新建工具栏按钮,按钮标题设置为“导出Word文档”; | ||
+ | |||
+ | 2、添加公式:“打开表单” | ||
[[文件:NDCWD4.png|720px|无框|居中]] | [[文件:NDCWD4.png|720px|无框|居中]] | ||
第111行: | 第217行: | ||
* $[作者$] | * $[作者$] | ||
* $[内容$] | * $[内容$] | ||
− | |||
− | = | + | 那么在云表模板中也要定义三个数据项,“标题”、“作者”、“内容” 这样在表单中“标题”数据项填入的数据,在导出WORD文档后,数据就会生成到word中$[标题$] 处,表单中“作者”数据项处填入的数据,在导出后会生成到word中 $[作者$]处,所有数据均是以此对应。 |
− | + | ||
− | + | ====3、真实案例==== | |
+ | 假设我们要将销售订单,导出为Word文档。 | ||
+ | |||
+ | 首先,我们需要知道销售订单都有哪些数据项需要导出。 | ||
[[文件:NDCWD5.png|720px|无框|居中]] | [[文件:NDCWD5.png|720px|无框|居中]] | ||
− | + | ---- | |
− | + | 如果,我们要将表中的所有数据项的数据都导出为Word文档。那我们需要先建立一个Word文档,将表单中的数据项以前文讲过的的填写方式列出来。 | |
[[文件:NDCWD14.png|720px|无框|居中]] | [[文件:NDCWD14.png|720px|无框|居中]] | ||
− | + | ---- | |
+ | 然后,将此Word文档另存为.xml格式文件,命名为:销售订单。并放置在D:\Latosoft\LatoServer\Data\formStyle目录下。 | ||
[[文件:NDCWD7.png|720px|无框|居中]] | [[文件:NDCWD7.png|720px|无框|居中]] | ||
− | + | ---- | |
+ | 配置custom.conf文件。我们首先找到D:\Latosoft\LatoServer\Data\conf这个目录(若没有conf文件夹,那么就手动建立一个文件夹,命名为conf)。然后以记事本(或文本文档)的方式打开custom.conf(若没有custom.conf文件,那么就手动建立一个文本文档或记事本,然后命名为custom.conf),配置内容如下: | ||
[[文件:NDCWD8.png|720px|无框|居中]] | [[文件:NDCWD8.png|720px|无框|居中]] | ||
− | + | '''注:'''配置好custom.conf文件后,需要重新启动服务器。 | |
− | + | ||
− | + | 重启服务器后,进入云表系统中的销售订单模板。建立填表公式-工具栏按钮-选择打开表单。 | |
− | + | ||
+ | 表单模板,选择“销售订单”,样式名称为“销售订单”(就是我们配置的custom.conf文件中的styleName(样式名称))。 | ||
+ | |||
+ | 并选择根据表单ID进行匹配,匹配内容为:本表单.sysFormID(意思为导出当前表单)。 | ||
[[文件:NDCWD9.png|720px|无框|居中]] | [[文件:NDCWD9.png|720px|无框|居中]] | ||
− | + | ||
+ | 设置好后,保存模板,在总表中打开某张销售订单,点击刚刚建立的按钮,选择要导出到哪个文件夹,并填写导出Word的文档名称。点击确定后,即可成功导出为Word文档。 | ||
[[文件:NDCWD16.png|720px|无框|居中]] | [[文件:NDCWD16.png|720px|无框|居中]] | ||
第147行: | 第261行: | ||
[[文件:NDCWD17.png|720px|无框|居中]] | [[文件:NDCWD17.png|720px|无框|居中]] | ||
+ | |||
+ | |||
+ | ===B、企业云盘管理样式模版=== | ||
+ | |||
+ | <big>注:此方法需要把样式模版上传到企业云盘,所以先要确认应用空间时候已开通企业云盘。</big> | ||
+ | |||
+ | ====1、创建样式模版==== | ||
+ | |||
+ | 在业务服务器创建一个样式模板,用来存储要导出Word的样式。 | ||
+ | |||
+ | 要包含两个字段(样式名和样式文件),其中样式文件字段的数据类型使用文件(将样式文件上传到云盘)。 | ||
+ | |||
+ | [[文件:001创建模版.png|720px|无框|居中]] | ||
+ | |||
+ | 在样式模板中,创建一个“列表选择”接口,并使用样式名参数进行过滤。 | ||
+ | |||
+ | [[文件:002定义样式数据项.png|720px|无框|居中]] | ||
+ | |||
+ | [[文件:003定义样式数据项2.png|720px|无框|居中]] | ||
+ | |||
+ | 创建好后,将导出word的样式文件(xml文件)上传到文件字段中,并填写样式名。 | ||
+ | |||
+ | |||
+ | [[文件:004上传样式模版.png|720px|无框|居中]] | ||
+ | |||
+ | ====2、在目标表单配置==== | ||
+ | |||
+ | 在要导出Word的模板中,进行导出word配置。 | ||
+ | |||
+ | 数据接口使用刚刚创建的读取存储样式的数据接口,并根据样式名称参数过滤出想要的样式文件,将样式文件赋值到样式名称中。 | ||
+ | |||
+ | 表单ID设置为“本表单.sysFormID”,表示将当前表单导出为Word文档。 | ||
+ | |||
+ | |||
+ | [[文件:005设置填表公式.png|720px|无框|居中]] |
2021年3月6日 (六) 18:19的版本
一、简介
在使用云表的过程中,我们都知道可以将表单或总表导出为Excel表格,但有时我们还需要将表单导出为word文档(如系统中的公告、合同表单或参考资料等),根据使用者的需求,云表开发了将表单导出为word文档的功能。
二、使用说明
具体方法分为2步:
1、制作Word文档的样式模版
2、在云表中进行配置
2.1 制作导出Word样式模板
什么是样式模版?
样式模版是用于记录Word文档中数据样式的,和云表的模版作用一样,Word样式模版除了样式以外,同样有数据项。
在Word文档中,创建与云表模板相同的数据项,按照样式模版的编写规则生成xml文件。
此xml文件就是导出Word文档的样式模板,通过它,我们就可以导出无数个相同格式的文档。
什么是标签?
程序通过识别“标签”找到数据要填入的位置,可以理解为Word样式模版的标签就是云表模版中的数据项。
标签共有N种,我们需要了解每种标签的编写规则。
<1>普通标签
- $[姓名$] 就是一个普通标签,对应“姓名”数据项。
- 普通标签分三个部分,分别是“标签头”、“标签尾”和“标签内容”,用于管理“文本”数据项。
1、标签头
- 标签头是程序识别标签开始的标志,用英文格式的 $[ 表示。
2、标签尾
- 标签尾是程序识别标签结束的标志,用英文格式的 $] 表示。
- 注意:标签头和标签尾就如同“左括号”和“右括号”,必须成对出现才是一个完整的标签。只有完整的标签才能被程序识别;
3、标签内容
- “标签头”和“标签尾”组合在一起,就成了一个“数据项”,至于这是什么数据项,就要看“标签内容”了。
- 标签内容是填写在普通标签中,用于匹配云表模版中的数据项,所以标签内容要与模版定义的数据项名称一致;
- 如:$[姓名$] 就对应云表模板中“姓名”数据项。
<2>图片标签
- 和普通标签类型类似,除了标签头、标签尾和标签内容以外,还有“占位图”组成。
- 图片标签的标签头:为了让程序识别这个标签对应的是图片数据项,在标签头后面需要加上“[图片]”作为标识。
- 图片标签的占位图:为了控制图片在导出文档中的位置和大小,需要在图片标签后面上传一张图片,注意图片环绕形式只能是嵌入型,这样图片可以是任意内容,因为在导出时,会被替换成表单中图片数据项的内容。
如:$[[图片]合影$]
- “[图片]”是特殊标识,让系统判断该数据项是图片数据类型;“合影”就是数据项的名称。
$[[图片]合影$]
<3>循环标签
$[[循环]明细表1$] $[明细表1.标题$] $[[结束循环]明细表1$]循环标签是一种特殊的标签类型,用于明细表的数据项管理,可细分为“明细表行循环”和“段落循环”。
和图片标签类似,需要在普通标签的基础上给程序做特殊的“标识”。
1、循环标签的标签头和标签尾:
- 在普通标签头后增加[循环],并在标识后填写明细表的名称,即 $[[循环]明细表1$];
- 在普通标签尾后增加[结束循环],并在标识后填写明细表的名称,即 $[[结束循环]明细表1$] ;
- 标签头和标签尾仍然要配套使用。
2、循环标签的明细表数据项标签:
格式如下: $[明细表1.标题$] ,“$[ $]”之间的内容是明细表的数据项,写法为“明细表名称.数据项名称”;这个格式跟普通标签非常相似,只能在循环标签的标签头和标签尾之间使用。
<3.1>Word表格行循环
如果需要将明细表的内容在Word文档中,以表格形式进行循环显示,需要将两个标签分别放在表格数据行的第一个格子及最后一个格子,中间的单元格则填入明细表数据项标签,如下图:
<3.2>段落循环
如果想实现以段落或者页的循环,则将两个标签分别放在需要循环的段落的前和后两个位置,如:
- $[[循环]明细表1$]
- 用户名: $[明细表1.姓名$]
- 日期: $[明细表1.日期$]
- $[明细表1.正文内容$]
- $[[结束循环]明细表1$]
<4>高级标签
高级标签是指某些特殊数据类型的特殊用法,遵循freemarker的标签语法,但是需要在高级标签外面加"$["和“$]”作为标签的开始和结束,以下是一些常用的高级用法,其他更多用法可参考https://www.cnblogs.com/hwaggLee/p/4541586.html。
<4.1>日期类型数据项转换显示
当数据项的数据类型是日期类型,如果需要指定显示精度,可以在数据项后面加“_对象”,再配合标签格式进行定制化显示:
写法:$[最后更新时间_对象?string(“yyyy-mm-dd HH:mm:ss zzzz”)$]
效果:2017-12-23 14:12:20 中国标准时间
<4.2>数字类型数据项转换显示
当数据项的属性是数字类型,如需要指定显示精度,可以在数据项后面加“_对象”,再配合格式化标签进行显示;
数字格式化可采用$[#{字段名称;format}$]的形式来格式化数字,其中format可以是:
mX:小数部分最小X位
- MX:小数部分最大X位
写法:$[#{浏览次数;m2}$]
效果:123.00
<4.3>真假类型数据项转换显示
如果数据项属性是判断类型(也叫是否型、布尔型),可以对值的结果“真”/“假”,分别显示不同内容。
写法:$[是否打印?string(“已打印”,“未打印”)$]
效果:已打印
<4.4>判断语句
如果需要对模板某部分内容进行判断是否显示,可以用以下if标签进行判断,以下是if标签的两种常用用法:
1、判断是否有值,加两个英文的?在需要判断的数据项后面,如果需要判断是否为空,则在数据项前面再加一个!,如:
- $[[#if !正文内容??]$]$]
- 这个是没有正文内容的
- $[[/#if]$]$]
2、判断字符串相等与否,可以使用判断符号相等“==”或者不相等“!=”:
- $[[#if 是否合影 ==“是”]$]$]
- 这个是有合影的
- $[[/#if]$]$]
模板内容举例
注意事项:
1、标签开始$[和标签结束$]这两个字符,必须要同一字体,中间不能有空格,而且需要同时录入,如果生成word之后,如果这两个标签标记没有被数据源替换,请重新键盘录入(这是因为Word会把这两个字符分开不同段落);
2、图片标签后面必须要上传一个图片进行占位,并且图片只能是嵌入型,该模板里面的图片最后是会被替换的;
3、明细表数据要显示出来,必须得放在循环标签内;
4、如果标签写法不合法的时候,生成Word时候会出现错误,理论上会提示出错的标签是哪个,但是如果没有则需要用排除法自行确认;
5、标签里面的中文“”‘’&<>符号会自动替换为英文的",如果不想被替换,需要在前面加“\”即可;
6、模板Word文档做好之后,office需要另存为“Word 2003 XML 文档(*.xml)”格式,而WPS则要另存为“XML 文件(*.xml)”格式,并上传到表单的模板中,其他格式无法作为模板文件,请注意格式;
7、暂时不支持换行的多行文本及富文本内容;
2.2 在云表中进行配置
目前云表支持2种配置方式:
1、本地配置管理样式模版(适用于未开通企业云盘的应用空间)
2、【推荐】企业云盘管理样式模版(适用于已开通企业云盘的应用空间)
A、本地配置管理样式模版
1、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"}]
样式名称和样式文件名称各填写一个就行,此例中表示可以有两种样式。
配置完成后需重启服务器。
2、云表空间模板设置
1、在要导出Word文档的模板-填表公式中,新建工具栏按钮,按钮标题设置为“导出Word文档”;
2、添加公式:“打开表单”
- 表单模板:使用需要导出信息的模板(即本模板);
- 样式名称:就是我们写的自定义配置文件里面的styleName(样式名称);
- 表单ID:当填写“本表单.sysFormID”时,表示导出当前表单,也可以用其他方式填写,如填写具体的表单ID数值,或根据数据项的内容。
- 例:我们在生成的xml文件中设置数据项为:
- $[标题$]
- $[作者$]
- $[内容$]
那么在云表模板中也要定义三个数据项,“标题”、“作者”、“内容” 这样在表单中“标题”数据项填入的数据,在导出WORD文档后,数据就会生成到word中$[标题$] 处,表单中“作者”数据项处填入的数据,在导出后会生成到word中 $[作者$]处,所有数据均是以此对应。
3、真实案例
假设我们要将销售订单,导出为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文档。
B、企业云盘管理样式模版
注:此方法需要把样式模版上传到企业云盘,所以先要确认应用空间时候已开通企业云盘。
1、创建样式模版
在业务服务器创建一个样式模板,用来存储要导出Word的样式。
要包含两个字段(样式名和样式文件),其中样式文件字段的数据类型使用文件(将样式文件上传到云盘)。
在样式模板中,创建一个“列表选择”接口,并使用样式名参数进行过滤。
创建好后,将导出word的样式文件(xml文件)上传到文件字段中,并填写样式名。
2、在目标表单配置
在要导出Word的模板中,进行导出word配置。
数据接口使用刚刚创建的读取存储样式的数据接口,并根据样式名称参数过滤出想要的样式文件,将样式文件赋值到样式名称中。
表单ID设置为“本表单.sysFormID”,表示将当前表单导出为Word文档。