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

devtools/2024/11/15 6:15:35/

在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.ppmy.cn/devtools/52194.html

相关文章

DAY5-力扣刷题

1.两两交换链表中的节点 24. 两两交换链表中的节点 - 力扣(LeetCode) 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换…

【INTEL(ALTERA)】Nios® II无法使用基于 Ubuntu 18.04.5 的 WSL 进行构建

现象 在使用 Ubuntu 18.04.5 构建 WSL 的Nios II处理器时,任何英特尔 Quartus Prime 软件版本都可能会看到此问题。 原因 这是因为在 Nios II Command Shell 中运行命令 “wslpath -u .”时返回值不同。 正常工作:命令返回”。故障:命令返回…

Oracle VM VirtualBox虚拟机安装的 Linux系统中的虚拟机和Windows 10客户机时间不同步设置

遇到一个Oracle VM VirtualBox中间件过期,导致在Oracle VM VirtualBox搭建的应用启用失败。在网上找了一下,原因是:Oracle VM VirtualBox中的中间件在指定时间内才能使用,需要修改系统时间。 介绍我的环境,Windows10主…

PHP框架详解 - ThinkPHP框架

ThinkPHP 是一个开源的轻量级 PHP 开发框架,它遵循 Apache2 开源许可协议发布,适用于敏捷 WEB 应用开发和简化企业应用开发。以下是对 ThinkPHP 框架的一些基本介绍和特点: 轻量级:ThinkPHP 以其轻量级特性而闻名,适合…

物联网主机E6000:智慧安防的核心动力

随着科技的不断进步,物联网(IoT)技术已经深入到我们生活的各个领域,尤其是在智慧安防领域,物联网技术的应用正变得越来越广泛。物联网主机E6000作为一款高性能的智能设备,其在智慧安防系统中扮演着至关重要…

C# 泛型分析

1、object类型是一切类型的父类。 2、通过继承,子类拥有父类的一切属性和行为,任何父类出现的地方,都可以用子类来代替。 但是上面object类型的方法又会带来另外一个问题:装箱和拆箱,会损耗程序的性能。 在泛型类型…

图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)

文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中,锐化操作用于增强图像的边缘和细节,使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模(Unsharp Masking)和拉普拉斯滤波…

NLP--朴素贝叶斯

1.在很多时候,我们不能像抛硬币一样通过客观性的方式来得到正反面的概率,而是常常遇到主观性的概率时,我们就不得不提及贝叶斯学派。贝叶斯概率是一种对概率的解释。概率被解释为代表一种具备某种知识状态的合理预期。因此,贝叶斯…