当前位置: 首页 > article >正文

根据NVeloDocx Word模板引擎生成Word(一)

自从我们基于免费开放的E6开发平台,实现了根据Word模版生成Word文档的模版引擎后,也实实在在帮助到了一些有需要的朋友。但是由于制作Word模版的过程对于很多人会是一个很头疼的事情,虽然提供了详细的文档,但是我们也经常接到他们的咨询,所以很有必要对怎么基于NVeloDocx怎么制作Word模版做详细说明。

下面所有的关于制作Word模版的表述都是基于NVeloDocx的。

我们这篇先介绍最基础的用法,实现最基础的功能。首先要知道最基本取数方法,由于NVeloDocx基于NVelocity,所以取数标签的用法完全采用NVelocity语法,比如要将客户资料生成Word,且客户名称对应的数据库字段是“__Name__”,那么我们就可以通过如下的标签取到客户的姓名了:

${data.GetValue("__Name__")}

1、 ${...} 是NVelocity语法,很容易记忆,我们只需要记得所有要取数的地方都这么写就行。

2、data 表示传入模版的客户数据;

3、data.GetValue("__Name__") 表示取客户数据中的Name字段的值;

要取客户资料的其他字段方法一样,只不过用不同的字段名。

再比如,客户表单上一般都会有“业务员”字段,所以都会引用员工表单上的员工姓名字段(数据库字段也叫__Name__),假设员工表单编号是Employee,那么取数方法是:

${data.GetValue("Employee\\__Name__")}

那如果还需要员工所属部门名称呢(假设部门表单编号是Department,部门名称字段也是__Name__),那么就用?

${data.GetValue("Employee\\Department\\__Name__")}

注意:由于斜杠“\”在大多数开发语言中都有特殊意义,所以遇到斜杠“\”的地方一定要使用双斜杠“\\”才行。

这样的语法应该每个人都可以看懂了吧?

了解了最基础的取数方法后,我们就可以制作自己的Word模版了,先制作好模板,再在需要的地方使用上面的取数标签替换就行。特别是在表格中填写取数标签的时候,由于取数标签长度很可能超出您预留的宽度,很可能会撑开您的模版,这些都不会影响最终的展示效果的。

假设我们制作了如下模版:

生成的效果图如下:

NVeloDocx非常灵活且目前采用了成熟的模版引擎(NVelocity),但是理论上来说NVeloDocx的实现方法、实现原理可以很容易地支持其他的任何模版引擎。


http://www.kler.cn/a/298771.html

相关文章:

  • 蓝牙BLE开发——解决iOS设备获取MAC方式
  • 【扩展卡尔曼滤波理论推导与实践】【理论】【1/3 前言】
  • clickhouse解决suspiciously many的异常
  • uniapp登录
  • iOS开发代码块-OC版
  • 编程语言的软件工程
  • 【C++】容器list常用接口详解
  • vue3 嵌套iframe 通讯
  • Docker 安装FileBeat、Elasticsearch及Kibana详细步骤
  • 基于Pinia和Compute的持久化localStorage登录态管理Vuejs 源码教学
  • 服务网关工作原理,如何获取用户真实IP?
  • Android Radio2.0——公告监听设置(四)
  • 表连接查询之两个left join与递归SQL
  • 使用Python本地搭建http.server文件共享服务并实现公网环境远程访问——“cpolar内网穿透”
  • 党务政务服务|基于SprinBoot+vue的党务政务服务热线系统(源码+数据库+文档)
  • Swagger UI 无法发送 Cookie
  • FFmpeg读取文件列表
  • FunASR搭建语音识别服务和VAD检测
  • GPT-4o mini轻量级大模型颠覆AI的未来
  • 软件测试学习笔记丨Vim编辑器的常用命令
  • 挂轨巡检机器人在发电厂与煤矿皮带机场景的应用
  • C语言猜数字小游戏(6)
  • Tensorflow2如何读取自制数据集并训练模型?-- Tensorflow自学笔记13
  • 如何在 Nuxt 3 中有效使用 TypeScript
  • TCP-IP5层模型
  • Hadoop命令