强大的.NET的word模版引擎NVeloDocx

在Javer的世界里,存在了一些看起来还不错的模版引擎,比如poi-tl看起来就很不错,但是那是人家Javer们专属的,与我们.Neter关系不大。.NET的世界里Word模版引擎完全是一个空白。

很多人不得不采用使用Word XML结合其他的模版引擎来实现根据Word模版生成报告,文档等等。但是这种方式存在很大的缺陷,那就是如果后期调整了哪怕一点点的Word格式,哪怕增加了几个文字都可能导致Word模版重新制作。

在我们免费开放的E6低代码平台中,我们提供了强大的打印模版,Excel导出模版等等的制作功能,但是却一直缺少高效的Word模版制作能力,这不论是在我们的客户还是普通用户中,都总是感觉缺少了啥。

为此推出了基于NVelocity和Open XML SDK的Word模版引擎:NVeloDocx。

基于NVeloDocx,用户完完全全可以在Word中直接编辑NVelocity标签和命令,实现Word模版开发,理论上来说,NVeloDocx支持NVelocity的全部语法,但是为了减少不必要的错误,我们做了一些特定的限制,比如${VariableName}是我们强烈推荐的方式,对于这种方式,我们会进行语法校验,提前发现不符合规范的写法。而$VariableName虽然也能工作,但不是我们推荐的方式。

基于NVeloDocx,用户可以使用#foreach循环,可以使用#if,可以使用#set定义临时变量,可以执行E6脚本,可以插图图片及图表等等。

基于NVeloDocx,我们最大限度地保留了用户编辑的Word格式,基本做到100%的格式还原,也就是说您编辑时是什么样,输出就是什么样。

基于NVeloDocx,您能够通过E6脚本做很多事情,比如四则混合运算,当前日期,当前用户等等都可以动态取数。

基于NVeloDocx,页眉页脚也都可以使用NVelocity语法,这就使得Word模版的定制几乎是全方位的了。

基于NVeloDocx,您可以将图片列表按多栏进行输出,这种需求在实际中非常常见。

为了让您更清晰了解NVeloDocx,相册是必不可少的了:

普通取数模版

输出

子表循环模版

输出

 图片多栏输出模版

 输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/696109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI 边缘计算平台 - 回归开源 BeagleY-AI 简介

BeagleBoard.org 于 3 月 27 号发布了一款单板计算机 BeagleY-AI ,这款 SBC 凭借其完全开源的特性,旨在激发并推动开源社区的生态系统繁荣发展。 一、简介: BeagleY-AI 采用德州仪器新推出的 AM67A AI 视觉处理器。这款处理器集成了四个 64…

Linux:基础开发工具

文章目录 Linux 软件包管理器 yum什么是软件包关于rzsz查看软件包安装软件卸载软件安装扩展源 Linux 编辑器 vimvim的基本概念正常/普通/命令模式(Normal mode)插入模式(Insert mode)底行模式(last line mode) vim的基本操作[命令模式]切换至[插入模式][插入模式]切换至[命令模…

Python openpyxl 库使用详解

大家好,当谈论处理 Excel 文件时,Python 的 openpyxl 库无疑是一个强大而灵活的工具。无论是在数据分析、报告生成还是自动化任务中,openpyxl 都展现出了其独特的价值。本文将详细介绍 openpyxl 库的各种功能和用法,帮助读者掌握如…

04-认识微服务-SpringCloud

04-认识微服务-SpringCloud 1.SpringCloud: 1.SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud 2.SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配&…

vue3中进度条上加高亮圆点

实现效果 小圆点基于进度条定位&#xff08;left&#xff09;。 实现代码 <template><!-- 这块代码实现的功能&#xff1a;progressData遍历的年份进度数组&#xff0c;展示每年完成的进度--><ul><li v-for"(item, index) in progressData" :k…

CST Studio Suite 2020 软件安装教程、安装包下载

CST Studio Suite 2020 安装教程 安装包下载 复制链接在浏览器打开 https://www.qqres.com/3150.html CST Studio Suite 是由Dassault Systmes公司开发的一套电磁场仿真软件。它应用于电子、通信、天线设计、射频与微波、电磁兼容性 (EMC)、电磁干扰 (EMI) 等领域。 CST St…

图Transformer 推荐系统

文章目录 Graph Transformer for Recommendation摘要引言相关工作方法3.1 Graph Invariant Rationale Learning3.1.1 Graph Collaborative Rationale Discovery3.1.2 Global Topology Information Injection3.1.3 Rationale Discovery with Graph Transformer.3.1.4 Task-Adapt…

作业-day-240607

思维导图 C编程 要求&#xff1a; 搭建一个货币的场景&#xff0c;创建一个名为 RMB 的类&#xff0c;该类具有整型私有成员变量 yuan&#xff08;元&#xff09;、jiao&#xff08;角&#xff09;和 fen&#xff08;分&#xff09;&#xff0c;并且具有以下功能&#xff1a;…

【深度学习】PuLID: Pure and Lightning ID Customization via Contrastive Alignment

论文&#xff1a;https://arxiv.org/abs/2404.16022 代码&#xff1a;https://github.com/ToTheBeginning/PuLID 文章目录 AbstractIntroductionRelated WorkMethods Abstract 我们提出了一种新颖的、无需调整的文本生成图像ID定制方法——Pure and Lightning ID customizatio…

北航第五次数据结构与程序设计编程题复习

北航第五次数据结构与程序设计编程题复习 树叶节点遍历&#xff08;树-基础题&#xff09;计算器&#xff08;表达式计算-表达式树实现&#xff09;服务优化词频统计&#xff08;树实现&#xff09; 树叶节点遍历&#xff08;树-基础题&#xff09; 【问题描述】 从标准输入中…

Golang的协程调度器GMP

目录 GMP 含义 设计策略 全局队列 P的本地队列 GMP模型以及场景过程 场景一 场景2 场景三 场景四 场景五 场景六 GMP 含义 协程调度器&#xff0c;它包含了运行协程的资源&#xff0c;如果线程想运行协程&#xff0c;必须先获取P&#xff0c;P中还包含了可运行的G…

Vue15-watch对比计算属性

一、姓名案例 1-1、watch实现 1-2、计算属性 对比发现&#xff1a; 计算属性比watch属性更简略一些。 1-3、计算属性 VS 侦听属性 1-4、需求变更 计算属性中不能开启异步任务&#xff01;&#xff01;&#xff01;因为计算属性靠return返回值。但是watch靠亲自写代码去改。 1-…

一款开源文件加速下载利器

前言 大文件的下载&#xff0c;浏览器支持不是很好&#xff0c;今天下载了一个20个G的文件&#xff0c;连续失败了好多次。 然后寻找到了一个开源的下载工具gospeed&#xff0c;可以完美的解决这个问题。而且下载速度快。 简介 Gopeed&#xff08;全称 Go Speed&#xff09;&am…

vscode copilot git commit 生成效果太差,用其他模型替换

问题 众所周知&#xff0c;copilot git commit 就像在随机生成 git commit 这种较为复杂的内容还是交给大模型做比较合适 方法 刚好&#xff0c;gitlens 最近开发了 AI commit的功能&#xff0c;其提供配置url api可以实现自定义模型 gitlens 只有3种模型可用&#xff1a…

重邮计算机网络803-(2)物理层

一.物理层 1.介绍 物理层的主要任务描述为确定与传输媒体的接口的一些特性&#xff0c;即&#xff1a; ①机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 ②电气特性 指明在接口电缆的各条线上出现的电压的范围。 ③功能特性 指明某条线上…

让AI做2024新高考1卷数学最后一题:AI智商横向对比!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

动手学深度学习4.10 实战Kaggle比赛:预测房价-笔记练习(PyTorch)

以下内容为结合李沐老师的课程和教材补充的学习笔记&#xff0c;以及对课后练习的一些思考&#xff0c;自留回顾&#xff0c;也供同学之人交流参考。 本节课程地址&#xff1a;实战 Kaggle 比赛&#xff1a;预测房价_哔哩哔哩_bilibili 本节教材地址&#xff1a;4.10. 实战Ka…

Keil软件仿真的使用

一、软件的初始化设置 初始设置可以按照下图&#xff0c;这里我使用的是STM32F103C8T6&#xff0c;所以单片机型号为STM32F103C8&#xff0c;这个设置在Debug目录下。然后进行时钟的设置&#xff0c;我们板上晶振为8M&#xff0c;这里将时钟改为8. 或许有人想问如果是别的型号单…

Vue3学习记录第三天

Vue3学习记录第三天 背景说明学习记录Vue3中shallowReactive()和shallowRef()Vue3中toRaw()和markRaw()前端...语法Vue3中readonly()和shallowReadonly()函数 背景 之前把Vue2的基础学了, 这个课程的后面有简单介绍Vue3的部分. 学习知识容易忘, 这里仅简答做一个记录. 内容都很…

# RocketMQ 实战:模拟电商网站场景综合案例(一)

RocketMQ 实战&#xff1a;模拟电商网站场景综合案例&#xff08;一&#xff09; 一、内容介绍 1、案例介绍&#xff1a; 1.1 业务分析 1&#xff09;下单业务 2&#xff09;支付业务 1.2 问题分析 2、技术分析 2.1 技术选型&#xff1a; 1&#xff09;SpringBoot 2&…