CN114330268A - 文档生成方法、装置、电子设备及计算机可读存储介质 - Google Patents

文档生成方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114330268A
CN114330268A CN202111499422.4A CN202111499422A CN114330268A CN 114330268 A CN114330268 A CN 114330268A CN 202111499422 A CN202111499422 A CN 202111499422A CN 114330268 A CN114330268 A CN 114330268A
Authority
CN
China
Prior art keywords
document
filled
data
format
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111499422.4A
Other languages
English (en)
Inventor
杨鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202111499422.4A priority Critical patent/CN114330268A/zh
Publication of CN114330268A publication Critical patent/CN114330268A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明实施例提供了一种文档生成方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域,方法包括:获取言XML格式的第一文档;第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;在第一文档中,将指定字符区域的前一行替换为前一行中的循环表达式,将指定字符区域的后一行替换为后一行中的结束符,得到第三文档;指定字符区域表示待填充的空白行;基于预设的模板引擎,对第三文档和待填充至空白行的第一数据进行组合,得到最终的第四文档;第四文档包含的表格中填充有第一数据。能够提高Excel文档的生成效率,降低人工成本。

Description

文档生成方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种文档生成方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机技术的快速发展,用户可以基于电子文档记录信息。例如,医院可以使用Excel文档统计患者的信息,老师可以使用Excel文档统计学生的成绩。一种实现方式中,在Excel文档中,每一行的表格表示一个对象,每一行的表格中可以记录该对象的多个属性信息。
相关技术中,由人工将各个对象的属性信息输入至Excel文档的表格中,需要耗费较大的人工成本,且会导致Excel文档的生成效率较低。
发明内容
本发明实施例的目的在于提供一种文档生成方法、装置、电子设备及计算机可读存储介质,提高Excel文档的生成效率,且降低人工成本。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种文档生成方法,所述方法包括:
获取可XML(Extensible Markup Language,扩展标记语言)格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
可选的,所述模板引擎为Velocity模板引擎,或,Freemarker模板引擎。
可选的,所述基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档,包括:
基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档;所述第五文档包含的表格中填充有所述第一数据;
统计所述第五文档中记录的数据行的数目,作为目标数值;
将所述第五文档中表示数据行的数目的变量修改为所述目标数值,得到第六文档;
基于所述第六文档,得到Excel格式的第四文档。
可选的,所述基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档,包括:
基于预设的模板引擎,针对待填充至所述空白行的第一数据中属于同一行的各属性信息,依次赋值于所述第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
可选的,所述基于所述第六文档,得到Excel格式的第四文档,包括:
将所述第六文档的文档格式修改为Excel格式,得到第四文档。
可选的,所述获取XML格式的第一文档,包括:
获取对所述第二文档进行格式转化得到的XML格式的第七文档;
对所述第七文档进行格式化处理,得到第一文档。
在本发明实施的第二方面,提供了一种文档生成装置,所述装置包括:
第一文档获取模块,用于获取可扩展标记语言XML格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
第三文档获取模块,用于在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
第四文档获取模块,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
可选的,所述模板引擎为Velocity模板引擎,或,Freemarker模板引擎。
可选的,所述第四文档获取模块,包括:
第五文档获取子模块,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档;所述第五文档包含的表格中填充有所述第一数据;
目标数值获取子模块,用于统计所述第五文档中记录的数据行的数目,作为目标数值;
修改子模块,用于将所述第五文档中表示数据行的数目的变量修改为所述目标数值,得到第六文档;
第四文档获取子模块,用于基于所述第六文档,得到Excel格式的第四文档。
可选的,所述第五文档获取子模块,具体用于基于预设的模板引擎,针对待填充至所述空白行的第一数据中属于同一行的各属性信息,依次赋值于所述第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
可选的,所述第四文档获取子模块,具体用于将所述第六文档的文档格式修改为Excel格式,得到第四文档。
可选的,所述第一文档获取模块,具体用于获取对所述第二文档进行格式转化得到的XML格式的第七文档;
对所述第七文档进行格式化处理,得到第一文档。
本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的文档生成方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的文档生成方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的文档生成方法。
本发明实施例有益效果:
本发明实施例提供的文档生成方法,可以获取言XML格式的第一文档;其中,第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;在第一文档中,将指定字符区域的前一行替换为前一行中的循环表达式,并将指定字符区域的后一行替换为后一行中的结束符,得到第三文档;其中,指定字符区域表示待填充的空白行;基于预设的模板引擎,对第三文档和待填充至空白行的第一数据进行组合,得到最终的第四文档;其中,第四文档包含的表格中填充有第一数据。
基于上述处理,将指定字符区域的前一行替换为该前一行中的循环表达式,并将后一行替换为该后一行中的结束符,也就能够基于循环表达式,将第一数据循环填充至多个空白行,进而,能够得到包含的表格中填充有第一数据的第四文档。相对于现有技术中由人工输入信息,本发明实施例的方法由电子设备自动循环对空白行进行赋值,能够提高Excel文档的生成效率,且降低人工成本。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种文档生成方法的流程图;
图2为本发明实施例提供的一种第二文档的显示示意图;
图3为本发明实施例提供的另一种文档生成方法的流程图;
图4为本发明实施例提供的另一种文档生成方法的流程图;
图5为基于图2所示的第二文档得到的第四文档的显示示意图;
图6为本发明实施例提供的一种文档生成装置的结构图;
图7为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,由人工将各个对象的属性信息输入至Excel文档的表格中,需要耗费较大的人工成本,且会导致Excel文档的生成效率较低。
为了解决上述问题,本发明实施例提供了一种文档生成方法,该方法可以应用于电子设备,该电子设备基于用户提供的数据(本发明实施例中的第一数据,即需要填充至Excel文档的数据),对Excel格式的文档中的表格进行填充,得到最终的文档。
参见图1,图1为本发明实施例提供的一种文档生成方法的流程图,该方法可以包括以下步骤:
S101:获取XML格式的第一文档。
其中,第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的。所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符。
S102:在第一文档中,将指定字符区域的前一行替换为前一行中的循环表达式,并将指定字符区域的后一行替换为后一行中的结束符,得到第三文档。
其中,指定字符区域表示待填充的空白行。
S103:基于预设的模板引擎,对第三文档和待填充至空白行的第一数据进行组合,得到最终的第四文档。
其中,第四文档包含的表格中填充有第一数据。
基于本发明实施例提供的文档生成方法,将指定字符区域的前一行替换为该前一行中的循环表达式,并将后一行替换为该后一行中的结束符,也就能够基于循环表达式,将第一数据循环填充至各个空白行,进而,能够得到包含的表格中填充有第一数据的第四文档。相对于现有技术中由人工输入信息,本发明实施例的方法由电子设备自动循环对空白行进行赋值,能够提高Excel文档的生成效率,且降低人工成本。
另外,由电子设备自动循环对空白行进行赋值,也能够避免人工输入有误的情况。
其次,基于本发明实施例提供的方法,用户只需要对第二文档(可以称为模板文档)中待填充的空白行中各空格的属性进行调整,即可以实现生成包含不同表格的文档,而不需要对对应的XML格式的文档进行编辑,提高模板文档的可维护性。
针对步骤S101,第二文档中空白行中各空白格的属性可以为用户基于需求设置的。例如,参见图2,图2为本发明实施例提供的一种第二文档的显示示意图。
当用户需要统计工作情况时,用户可以设置如图2所示的Excel格式的文档。即,针对每一项工作,需要统计该工作的序号、工作内容、计划开始时间、计划完成时间、完成百分比、未完成说明和负责人。
空白行中可以记录有每一列属性的属性标识。图2中,$!emp.id表示序号一列的属性标识,$!emp.content表示工作内容一列的属性标识,$!emp.beginTime表示计划开始时间一列的属性标识,$!emp.endTime表示计划完成时间一列的属性标识,$!emp.P表示完成百分比一列的属性标识,$!emp.note表示未完成说明一列的属性标识,$!emp.people表示负责人一列的属性标识。
例如,用户可以通过电脑创建一个Excel格式的文档,并在该Excel文档中输入图2所示的内容,其中,#foreach($item in$emps)表示循环表达式,#end表示结束符,得到第二文档。然后,用户可以将该第二文档另存为XML格式,电子设备可以基于该XML格式的文档得到第一文档。
在一个实施例中,电子设备可以直接将该XML格式的文档,确定为第一文档。
在另一个实施例中,上述步骤S101可以包括以下步骤:
获取对第二文档进行格式转化得到的XML格式的第七文档;对第七文档进行格式化处理,得到第一文档。
在本发明实施例中,用户在将第二文档另存为XML格式,得到XML格式的文档(即第七文档)后,电子设备可以获取到第七文档,并对第七文档进行格式化,得到第一文档。其中,对第七文档进行格式化包括:在第七文档中添加换行符、以及调整第七文档中行的缩进等,以提高第一文档的可读性。
针对步骤S102,一种实现方式中,由于第二文档中的空白行的上侧记录有循环表达式,下侧记录有结束符,因此,在解析第一文档时,电子设备可以确定第一文档中包含有循环表达式的数据行(可以称为第一数据行),该第一数据行的下方也就是指定字符区域,即,表示空白行的字符区域。同时,电子设备可以确定第一文档中包含有结束符的数据行(可以称为第二数据行),该第二数据行的上方也就是指定字符区域,即,表示空白行的字符区域。
例如,可以基于正则表达式<Row.*?#foreach.*?</Row>,确定第二文档中的第一数据行,以及基于正则表达式<Row.*?#end.*?</Row>,确定第二文档中的第二数据行。
进而,电子设备可以将第一数据行替换为其中的循环表达式,将第二数据行替换为其中的结束符,得到第三文档。
循环表达式表示进行循环处理的表达式,将指定字符区域的前一行替换为其中的循环表达式,并将后一行替换为其中的结束符,也就能够实现对指定字符区域所表示的内容进行循环处理。
针对步骤S103,本发明实施例中的模板引擎可以为Velocity模板引擎,或,也可以为Freemarker模板引擎,但并不限于此。
用户需要填充的第一数据可以记录在指定的数据库中,或者,也可以记录在指定的文档中。第一数据可以以对应的属性标识进行标记,即,电子设备能够确定第一数据中每一个数据的属性。
在一个实施例中,参见图3,在图1的基础上,上述步骤S103可以包括以下步骤:
S1031:基于预设的模板引擎,对第三文档和待填充至空白行的第一数据进行组合,得到XML格式的第五文档。
S1032:统计第五文档中记录的数据行的数目,作为目标数值。
S1033:将第五文档中表示数据行的数目的变量修改为目标数值,得到第六文档。
S1034:基于第六文档,得到Excel格式的第四文档。
其中,第五文档包含的表格中填充有第一数据。
第一数据可以包含多行数据,每一行数据包含多个不同属性信息。例如,若第二文档的内容如图2所示,则第一数据中的每一行数据表示一项工作的信息,包含该工作的序号、工作内容、计划开始时间、计划完成时间、完成百分比、未完成说明和负责人。即,第一数据可以包含多个工作的信息。
在本发明实施例中,电子设备基于模板引擎,可以对第三文档和第一数据进行组合,即,将第一数据填充至空白行中,得到XML格式的第五文档。由于可以循环填充多个空白行,且Excel对行的计数有要求,即,Excel文档中需要记录包含有数据的行的数目。因此,填充完成后,可以统计第五文档中记录的数据行的数目(即目标数值),并将第五文档中表示数据行的数目的变量修改为目标数值,进而,能够避免打开文档时出错。
例如,在第五文档中,可以将表示数据行的数目的变量“ExpandedRowCo unt”的数值修改为目标数值。
虽然第六文档为XML格式,但其仍可基于Office应用程序直接打开,且以Excel文档的形式进行显示。例如,基于Office2007以及更高的版本,可以直接以Excel文档的形式打开XML格式的文档。
在一个实施例中,上述步骤S1034可以包括:将第六文档的文档格式修改为Excel格式,得到第四文档。
为了便于用户对文档进行管理,电子设备还可以将第六文档的后缀名修改为Excel格式文档的后缀名(例如,.xls),得到Excel格式的文档(即本发明实施例中的第四文档)。
在一个实施例中,参见图4,在图3的基础上,上述步骤S1031可以包括以下步骤:
S10311:基于预设的模板引擎,针对待填充至空白行的第一数据中属于同一行的各属性信息,依次赋值于第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
在本发明实施例中,基于模板引擎,针对第一数据中属于同一行的各属性信息,即,针对待填充的同一对象的多个属性信息,可以依次赋值于指定字符区域中对应的变量。也就是说,电子设备可以按照第一数据,对指定字符区域中的变量进行赋值,也就可以实现在空白行中填充对应的第一数据。
在完成指定字符区域中各变量的赋值后,也就可以得到填充有对应的一个对象的属性信息的数据行,进而,在基于循环表达式,完成多次循环的赋值后,也就可以在多个空白行中填充多个对象的属性信息(即第一数据),即,得到包含有多个对象的属性信息的数据行。
参见图5,图5为基于图2所示的第二文档得到的第四文档的显示示意图。
基于相同的发明构思,本发明实施例还提供了一种文档生成装置,参见图6,图6为本发明实施例提供的一种文档生成装置的结构图,所述装置包括:
第一文档获取模块601,用于获取可扩展标记语言XML格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
第三文档获取模块602,用于在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
第四文档获取模块603,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
可选的,所述模板引擎为Velocity模板引擎,或,Freemarker模板引擎。
可选的,所述第四文档获取模块603,包括:
第五文档获取子模块,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档;所述第五文档包含的表格中填充有所述第一数据;
目标数值获取子模块,用于统计所述第五文档中记录的数据行的数目,作为目标数值;
修改子模块,用于将所述第五文档中表示数据行的数目的变量修改为所述目标数值,得到第六文档;
第四文档获取子模块,用于基于所述第六文档,得到Excel格式的第四文档。
可选的,所述第五文档获取子模块,具体用于基于预设的模板引擎,针对待填充至所述空白行的第一数据中属于同一行的各属性信息,依次赋值于所述第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
可选的,所述第四文档获取子模块,具体用于将所述第六文档的文档格式修改为Excel格式,得到第四文档。
可选的,所述第一文档获取模块601,具体用于获取对所述第二文档进行格式转化得到的XML格式的第七文档;
对所述第七文档进行格式化处理,得到第一文档。
基于本发明实施例提供的文档生成装置,将指定字符区域的前一行替换为该前一行中的循环表达式,并将后一行替换为该后一行中的结束符,也就能够基于循环表达式,将第一数据循环填充至各个空白行,进而,能够得到包含的表格中填充有第一数据的第四文档。相对于现有技术中由人工输入信息,本发明实施例的方法由电子设备自动循环对空白行进行赋值,能够提高Excel文档的生成效率,且降低人工成本。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
获取可扩展标记语言XML格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一文档生成方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一文档生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种文档生成方法,其特征在于,所述方法包括:
获取可扩展标记语言XML格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述模板引擎为Velocity模板引擎,或,Freemarker模板引擎。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档,包括:
基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档;所述第五文档包含的表格中填充有所述第一数据;
统计所述第五文档中记录的数据行的数目,作为目标数值;
将所述第五文档中表示数据行的数目的变量修改为所述目标数值,得到第六文档;
基于所述第六文档,得到Excel格式的第四文档。
4.根据权利要求3所述的方法,其特征在于,所述基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档,包括:
基于预设的模板引擎,针对待填充至所述空白行的第一数据中属于同一行的各属性信息,依次赋值于所述第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
5.根据权利要求3所述的方法,其特征在于,所述基于所述第六文档,得到Excel格式的第四文档,包括:
将所述第六文档的文档格式修改为Excel格式,得到第四文档。
6.根据权利要求1所述的方法,其特征在于,所述获取XML格式的第一文档,包括:
获取对所述第二文档进行格式转化得到的XML格式的第七文档;
对所述第七文档进行格式化处理,得到第一文档。
7.一种文档生成装置,其特征在于,所述装置包括:
第一文档获取模块,用于获取可扩展标记语言XML格式的第一文档;其中,所述第一文档为:基于对包含有待填充的空白行的Excel格式的第二文档进行格式转化得到的;所述第二文档中空白行的上侧记录有循环表达式,下侧记录有结束符;
第三文档获取模块,用于在所述第一文档中,将指定字符区域的前一行替换为所述前一行中的循环表达式,并将所述指定字符区域的后一行替换为所述后一行中的结束符,得到第三文档;其中,所述指定字符区域表示所述待填充的空白行;
第四文档获取模块,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到最终的第四文档;其中,所述第四文档包含的表格中填充有所述第一数据。
8.根据权利要求7所述的装置,其特征在于,所述模板引擎为Velocity模板引擎,或,Freemarker模板引擎。
9.根据权利要求7所述的装置,其特征在于,所述第四文档获取模块,包括:
第五文档获取子模块,用于基于预设的模板引擎,对所述第三文档和待填充至所述空白行的第一数据进行组合,得到XML格式的第五文档;所述第五文档包含的表格中填充有所述第一数据;
目标数值获取子模块,用于统计所述第五文档中记录的数据行的数目,作为目标数值;
修改子模块,用于将所述第五文档中表示数据行的数目的变量修改为所述目标数值,得到第六文档;
第四文档获取子模块,用于基于所述第六文档,得到Excel格式的第四文档。
10.根据权利要求9所述的装置,其特征在于,所述第五文档获取子模块,具体用于基于预设的模板引擎,针对待填充至所述空白行的第一数据中属于同一行的各属性信息,依次赋值于所述第三文档中指定字符区域中对应的变量,得到XML格式的第五文档。
11.根据权利要求9所述的装置,其特征在于,所述第四文档获取子模块,具体用于将所述第六文档的文档格式修改为Excel格式,得到第四文档。
12.根据权利要求7所述的装置,其特征在于,所述第一文档获取模块,具体用于获取对所述第二文档进行格式转化得到的XML格式的第七文档;
对所述第七文档进行格式化处理,得到第一文档。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN202111499422.4A 2021-12-09 2021-12-09 文档生成方法、装置、电子设备及计算机可读存储介质 Pending CN114330268A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111499422.4A CN114330268A (zh) 2021-12-09 2021-12-09 文档生成方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111499422.4A CN114330268A (zh) 2021-12-09 2021-12-09 文档生成方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114330268A true CN114330268A (zh) 2022-04-12

Family

ID=81051557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111499422.4A Pending CN114330268A (zh) 2021-12-09 2021-12-09 文档生成方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114330268A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080593A1 (en) * 2004-10-08 2006-04-13 Alexander Hudspith System and method for generating computer-readable documents
CN104881275A (zh) * 2015-02-11 2015-09-02 中国农业银行股份有限公司 一种电子报表生成方法及装置
CN111538490A (zh) * 2020-04-15 2020-08-14 北京宝兰德软件股份有限公司 一种基于FreeMarker的数据融合方法及装置
CN111611784A (zh) * 2020-04-29 2020-09-01 平安科技(深圳)有限公司 报表生成方法、装置、终端设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080593A1 (en) * 2004-10-08 2006-04-13 Alexander Hudspith System and method for generating computer-readable documents
CN104881275A (zh) * 2015-02-11 2015-09-02 中国农业银行股份有限公司 一种电子报表生成方法及装置
CN111538490A (zh) * 2020-04-15 2020-08-14 北京宝兰德软件股份有限公司 一种基于FreeMarker的数据融合方法及装置
CN111611784A (zh) * 2020-04-29 2020-09-01 平安科技(深圳)有限公司 报表生成方法、装置、终端设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
孙佩刚;: "基于FreeMarker的测试文档生成方法", 电脑编程技巧与维护, no. 06, 18 June 2018 (2018-06-18) *
熬夜是小狗: "Velocity模板引擎实战:动态生成HTML、WORD、EXCEL等报表", Retrieved from the Internet <URL:https://blog.csdn.net/Icannotdebug/article/details/79727274> *
王正敏;张太红;李永可;白涛;: "FreeMarker模板引擎在线动态生成Excel和Word文档技术", 计算机与现代化, no. 04, 15 April 2016 (2016-04-15) *
骆蓉;黄俊;黎茂锋;刘志勤;: "基于Word模板的复杂文档快速生成方法", 计算机应用与软件, no. 10, 12 October 2020 (2020-10-12) *

Similar Documents

Publication Publication Date Title
CN110347953B (zh) 页面生成方法、装置、计算机设备及存储介质
CN109918394B (zh) 数据查询方法、***、计算机装置及计算机可读存储介质
US11792257B2 (en) Form engine
CN110705237B (zh) 文档的自动生成方法、数据处理设备及存储介质
CN109284323B (zh) 检测数据的管理方法及装置
CN111159982B (zh) 文档编辑方法、装置、电子设备及计算机可读存储介质
CN111400387A (zh) 导入导出数据的转换方法、装置、终端设备及存储介质
CN111414727B (zh) 一种pdf文档页眉页脚的编辑方法、装置及电子设备
CN107220274A (zh) 一种可视化数据接口集市实现方法
CN112800730A (zh) 报表填报方法及装置
CN110889272A (zh) 数据处理方法、装置、设备及存储介质
CN111444368B (zh) 构建用户画像的方法、装置、计算机设备及存储介质
CN111368353B (zh) 一种cad图纸翻模方法、***、装置及存储介质
CN111078564B (zh) 一种ui测试用例管理方法、装置、计算机设备以及计算机可读存储介质
CN114330268A (zh) 文档生成方法、装置、电子设备及计算机可读存储介质
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
CN113254455B (zh) 数据库的动态配置方法、装置、计算机设备及存储介质
WO2020018223A1 (en) Binding query scope to directory attributes
CN113076722B (zh) 报告生成方法、装置、计算机设备及存储介质
CN111767223B (zh) 一种文件处理方法、装置、电子设备及存储介质
CN110928540A (zh) 一种页面生成方法及装置
CN115268846A (zh) 一种添加属性信息的方法、装置及计算机可读存储介质
TWI524197B (zh) 從資料表欄位註解產生網頁程式與對應表單介面之方法
CN108228688B (zh) 一种基于xbrl的模板生成方法、***及服务器
CN114372448A (zh) 文档生成方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination