一种模板动态参数替换和运算的方法、系统及存储介质技术方案

技术编号:37112388 阅读:29 留言:0更新日期:2023-04-01 05:09
本发明专利技术公开了一种模板动态参数替换和运算的方法、系统及存储介质,该方法包括如下步骤:获取原始WORD/WPS文档中需要动态变化的内容;在C

【技术实现步骤摘要】
一种模板动态参数替换和运算的方法、系统及存储介质


[0001]本专利技术涉及一种模板动态参数替换和运算的方法、系统及存储介质,属于软件信息


技术介绍

[0002]WORD/WPS导出是信息系统中常见的需求和功能要素,随着信息系统业务的发展,企业用户对系统中WORD/WPS导出功能提出了更高的要求,即导出的WORD/WPS可以快速随着需求的变化而做相应的调整,同时针对一些统计类业务需求的导出,需要支持一定的动态运算,而不是简单的进行文本替换。
[0003]目前,国内外针对WORD/WPS文档进行动态参数替换基本是采用Freemarker技术进行动态参数的值替换,主要操作有:(1)将需要动态替换内容的WORD/WPS文档转换成XML文档格式;(2)在XML格式的文档中进行参数的配置,即将XML中需要变化的内容使用参数/变量进行替代;(3)使用Freemarker引擎对进行参数/变量替换后的XML文档进行动态转换,利用模型+数据的思想将其转换为新的WORD/WPS文件格式且其中配置的参数/变量替换为Freemarker引擎中设置的参数/变量值。这种技术方法主要存在以下四个方面的问题:(1)上述过程中的前两个步骤都需要人为手工进行操作,无法简化,给使用人员带来较大的不便且易出错,特别是在XML文档中进行参数/变量的标记,一旦标记错误,很难快速排查到错误的位置,耗时耗力;(2)在XML中进行标记的参数/变量是特定范围的字符串,如果使用者想添加自定义的参数/变量进行数据动态替换,那么上述方法是无法办到的,除非修改底层模板解析逻辑;(3)以上操作更多的是针对微软Office的WORD文档进行操作的模式,但是在针对国产WPS的文档采用上述方法后,如果原始WPS存在表格元素且表格中内容为被标记对象时,那么重新生成的WPS文档会出现表格错乱和样式拉伸的情况,影响用户使用;(4)以上技术无法在WORD/WPS中进行基于数字常量和数字变量的四则运算,满不足了使用者在转换WORD/WPS过程中掺杂的一些需要运算的需求。

技术实现思路

[0004]本专利技术的目的在于克服现有技术中的不足,提供一种模板动态参数替换和运算的方法、系统及存储介质,提高WORD/WPS文档模板化的效率。
[0005]为达到上述目的,本专利技术是采用下述技术方案实现的:第一方面,本专利技术提供一种模板动态参数替换和运算的方法,所述方法包括如下步骤:获取原始WORD/WPS文档中需要动态变化的内容;在C

POI组件中自定义参数/变量及对应的值取逻辑,得到插值元素部件库;基于插值元素部件库,将原始WORD/WPS文档中需要动态变化的内容标记为参数/变量和表达式,得到WORD/WPS模板文档;将WORD/WPS模板文档上传至系统平台,与业务功能模块进行绑定;
业务功能模块通过C

POI组件对WORD/WPS模板文档进行转换,得到目标WORD/WPS文档。
[0006]结合第一方面,进一步的,所述C

POI组件包括参数/变量解析部件、计算表达式运算部件、表格元素样式规正部件及自定义插值元素部件;所述参数/变量解析部件对WORD/WPS文档标记的占位符进行动态替换;所述计算表达式运算部件对WORD/WPS文档标记的占位符进行动态计算,并将计算结果替换到占位符处;所述表格元素样式规正部件调整WPS文档被标记表格元素出现的表格错乱和样式拉伸,保证WPS文档中表格的正常展示;所述自定义插值元素部件管理参数/变量和计算表达式变量,并通过可视化的方式提供参数/变量和计算表达式变量的在线维护功能。
[0007]进一步的,所述参数/变量解析部件对WORD/WPS文档标记的占位符进行动态替换包括如下步骤:读取自定义插值元素部件中参数/变量的数据;将自定义插值元素部件中参数/变量的数据初始化构建Map集合;定义Map集合中数据格式为HashMap<K,V>,其中K为参数/变量的字符串文本,V为参数/变量对应的值域结果;根据参数/变量不同的值域类型,分别执行对应的逻辑进行动态替换。
[0008]进一步的,所述计算表达式运算部件的处理步骤具体如下;读取自定义插值元素部件中表达式的数据;将自定义插值元素部件中表达式的数据初始化构建Map集合;定义Map集合中数据格式为HashMap<K,V>,其中K为表达式的字符串文本,V为表达式对应的值域结果;对表达式不同的值域结果进行四则运算,将计算结果替换原占位符,改善WPS文档中出现被标记表格元素时出现的表格错乱和样式拉伸问题。
[0009]进一步的,一个业务功能模块仅对应一个模板文件,一个模板文件能够被多个业务功能模块引用。
[0010]进一步的,将原始WORD/WPS文档中需要动态变化的内容标记为参数/变量和表达式,所述参数/变量采用双大括号形式表示;所述表达式采用双中括号形式表示,所述双中括号中填写在表达式变量或表达式。
[0011]第二方面,本专利技术提供一种模板动态参数替换和运算系统,包括处理器及存储介质;所述存储介质用于存储指令;所述处理器用于根据所述指令进行操作以执行上述任一项所述方法的步骤。
[0012]第三方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
[0013]与现有技术相比,本专利技术所达到的有益效果包括:本专利技术提供了提供一种模板动态参数替换和运算的方法、系统及存储介质,该方法摒弃了在XML文档中直接进行参数/变量标记的步骤,转而采用直接在WORD/WPS文档中进
行标记的方法,提高了WORD/WPS文档模板化的效率,同时能够避免XML文档操作的不便带来的人为失误问题;该方法引入了用户自定义参数/变量,使用者可以根据业务需要动态设定需要生成的自定义内容,不需要修改WORD/WPS模板底层解析逻辑;通过在WORD/WPS模板解析引擎中引入运算规则,支持用户直接在原始WORD/WPS中进行数学的四则运算表达式定义,解析引擎根据配置的表达式,利用运算规则计算出表达式的最终值,并对表达式所在区域进行终值替换,能够改善WPS文档中出现被标记表格元素时出现的表格错乱和样式拉伸问题。
附图说明
[0014]图1是本专利技术实施例提供动态替换内容的实例图;图2是本专利技术实施例提供模板文件上传功能的实例图;图3是本专利技术实施例提供的模板与业务功能映射的实例图;图4是本专利技术实施例提供的C

POI组件整体结构图;图5是本专利技术实施例提供的参数/变量解析部件中参数/变量的初始化流程图;图6是本专利技术实施例提供的计算表达式运算部件中表达式的初始化流程图。
具体实施方式
[0015]以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。
[0016]实施例一本专利技术提供一种模板动态参数替换和运算的方法,所述方法包括如下步骤:获取原始WORD/WP本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模板动态参数替换和运算的方法,其特征在于,所述方法包括如下步骤:获取原始WORD/WPS文档中需要动态变化的内容;在C

POI组件中自定义参数/变量及对应的值取逻辑,得到插值元素部件库;基于插值元素部件库,将原始WORD/WPS文档中需要动态变化的内容标记为参数/变量和表达式,得到WORD/WPS模板文档;将WORD/WPS模板文档上传至系统平台,与业务功能模块进行绑定;业务功能模块通过C

POI组件对WORD/WPS模板文档进行转换,得到目标WORD/WPS文档。2.根据权利要求1所述的一种模板动态参数替换和运算的方法,其特征在于,所述C

POI组件包括参数/变量解析部件、计算表达式运算部件、表格元素样式规正部件及自定义插值元素部件;所述参数/变量解析部件对WORD/WPS文档中标记的占位符进行动态替换;所述计算表达式运算部件对WORD/WPS文档标记的占位符进行动态计算,并将计算结果替换到占位符处;所述表格元素样式规正部件调整WPS文档被标记表格元素后出现的表格错乱和样式拉伸;所述自定义插值元素部件管理参数/变量和计算表达式变量,并通过可视化的方式提供参数/变量和计算表达式变量的在线维护功能。3.根据权利要求2所述的一种模板动态参数替换和运算的方法,其特征在于,所述参数/变量解析部件对WORD/WPS文档标记的占位符进行动态替换包括如下步骤:读取自定义插值元素部件中参数/变量的数据;将自定义插值元素部件中参数/变量的数据初...

【专利技术属性】
技术研发人员:王照阳黎绍泉胡银华经正俊齐刚朱辰泽杨利利
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1