短期网站建设培训班,小型网站建设价格低,wordpress写文章怎么更换编辑器,网站建设启示前面几篇已经把E6开发平台配套的Word模版隐藏NVeloDocx的基础用法介绍了一遍#xff0c;这些基础用法基本上可以完全覆盖实际业务的绝大部分需求。所以我们这一篇就介绍一些边边角角的内容#xff0c;给本系列来一个首尾。
本篇的主要内容有#xff1a;
1、汇总计算#…前面几篇已经把E6开发平台配套的Word模版隐藏NVeloDocx的基础用法介绍了一遍这些基础用法基本上可以完全覆盖实际业务的绝大部分需求。所以我们这一篇就介绍一些边边角角的内容给本系列来一个首尾。
本篇的主要内容有
1、汇总计算比如我们经常遇到的Word报告中的配件清单需要能够计算总耗时总费用等等
2、E6脚本基于NVeloDocx我们同样可以使用E6脚本比如使用E6脚本进行日期格式化进行金额字段的小写数字转换成中文等等
3、水印水印也可以通过NVelocity命令进行填充
下面我们来一个个进行介绍
汇总计算
比如我们在使用子表数据填充Word表格的时候很多时候需要显示一个汇总行甚至于某些情况下还需要把金额转换成大写形式如下图
子表最后一行是汇总行
那么我们怎么设置这个模板呢还记得前面《根据NVeloDocx Word模板引擎生成Word二》中已经介绍过子表输出到Word表格时的模板语法这里也是一样的只不过要汇总我们必须要一个新变量下图模版中的$total来保存每个循环的叠加汇总。 模版
变量的定义自然需要再循环开始前进行定义所以我们在#foreach前定义变量#set($total0)。
变量的汇总我们在#end前先把要汇总的字段值取出来赋值给变量$baofei也可以不用这么做这么做的原因主要是让后面的汇总命令短一点不易出错而已。所以下面两种写法都是对的
第一种就是上图中的这种
#set($baofei${child.GetValue($item,baodanbaofei)})
#set($total${utils.Add($total, $baofei)}) # 这里表示把total变量和保费变量相加后再复制给total
第二种直接相加不建议这种方式。
#set($total${utils.Add($total, ${child.GetValue($item,baodanbaofei)})})
这里为了实现两个变量相加我们引入了一个工具方法utils.Add(参数1参数2)为什么要这么做呢因为如果直接使用#set($total $total $baofei)的话就可能失败我总觉得这是NVelocity的一个Bug
汇总后要把汇总金额转成大写通过工具方法${utils.ToCapital($tatal)} 即可如上面的模版图。 E6脚本
在NVeloDocx模版引擎中也可以使用E6脚本最常见的比如显示当前日期比如报告日期就可以使用E6脚本来实现 报告日期
模版如下通过工具方法 ${script.Exc(Today())} 来执行一个E6脚本其中 Today()就是要执行的E6脚本。 模版 水印
比如要在生成的Word中显示水印信息当前“用户名用户编号”这种显然是一个动态的信息就可以通过设置水印为E6脚本生成Word时再进行动态计算。 水印效果图
在Word中设置水印的方法 设置中-水印菜单 选择自定义水印
设置水印“文字”为E6脚本
在水印设置时就可以设置水印“文字”为执行E6脚本
${script.Exc(UserName()UserNO())}
其中
UserName()E6脚本表示当前登录用户的姓名
UserNO()E6脚本表示当前登录用户编号 这样生成的Word文档中水印就会自动替换成当前操作用户的用户名用户编号。
总算完结了给有需要的朋友一个参考。