CN109933752B - 一种导出电子文档的方法和装置 - Google Patents

一种导出电子文档的方法和装置 Download PDF

Info

Publication number
CN109933752B
CN109933752B CN201711349886.0A CN201711349886A CN109933752B CN 109933752 B CN109933752 B CN 109933752B CN 201711349886 A CN201711349886 A CN 201711349886A CN 109933752 B CN109933752 B CN 109933752B
Authority
CN
China
Prior art keywords
page
template
tag
word
xml file
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.)
Active
Application number
CN201711349886.0A
Other languages
English (en)
Other versions
CN109933752A (zh
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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201711349886.0A priority Critical patent/CN109933752B/zh
Publication of CN109933752A publication Critical patent/CN109933752A/zh
Application granted granted Critical
Publication of CN109933752B publication Critical patent/CN109933752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种导出电子文档的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据接收的电子文档模板生成包括占位符和自定义标签的xml文件;解析所述占位符和自定义标签,以得到xml文件模板;将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档。该实施方式避免了对xml文件的二次开发,实现自动化导出电子文档,可维护性高,降低人员工作量,省时省力,提高研发效率,支持复杂类型的电子文档动态数据导出,支持可视化操作并能进行版本控制,还可实现页面级别的版本存储。

Description

一种导出电子文档的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种导出电子文档的方法和装置。
背景技术
在传统的开发过程中,开发人员读写word的常用方式有Apache POI(Apache软件基金会的开放源码函式库)或iText,这两种方式功能少、开发人员工作量大,使用效果不理想。现有方案还可以借助FreeMarker来生成word文档,但是这种方案仍然存在一些问题。主要在于:第一,需要研发人员对生成的xml文件二次开发,word另存的xml文件,是word文件特有的标签类型,这种标签非常复杂,可读性很差,相关文档很少,并且在模板中替换的占位符${}会自动被拆开,中间夹杂着word特有的标签类型,影响模板的正常解析,研发人员需要花费大量时间去删除${}中间多余的标签,恢复占位符的正确编写方式。此外,表格等类型需要调整xml代码的嵌套顺序,如果模板的页数较多的情况下,需求人员和前端对原有模板进行了大量修改,那么之前已经完成的word xml文件即被废弃,研发人员需要对新模板重新替换占位符,重新对word xml进行二次开发,重复性劳动多。在二次开发时,对研发人员的经验以及细致程度有比较高的要求,稍有不慎,就会导致整个生成word的失败,细节上的错误均需花费成倍的时间去排查。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有方案对于word xml二次开发的工作量较大,后续修改导致的重复性劳动多,且出现问题不容易排查。
发明内容
有鉴于此,本发明实施例提供一种导出电子文档的方法和装置,避免了对xml文件的二次开发,实现自动化导出电子文档,可维护性高,降低人员工作量,省时省力,提高研发效率,支持复杂类型的电子文档动态数据导出,支持可视化操作并能进行版本控制,还可实现页面级别的版本存储。
为实现上述目的,根据本发明实施例的一个方面,提供了一种导出电子文档的方法。
一种导出电子文档的方法,包括:根据接收的电子文档模板,生成包括占位符和自定义标签的xml文件;解析所述占位符和自定义标签,以得到xml文件模板;将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档。
可选地,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为word xml文件,所述自定义标签包括当前页码标签、分页标签、表格标签中的一种或多种,解析所述占位符和自定义标签,以得到xml文件模板的步骤,包括:逐页清除所述wordxml文件中的占位符内的word标签;逐页解析所述word xml文件中的自定义标签;将执行所述逐页清除和所述逐页解析之后的word xml文件保存为xml文件模板。
可选地,逐页解析所述word xml文件中的自定义标签的步骤,包括:逐页解析所述word xml文件中的自定义标签的标签类型,其中:当解析出所述标签类型为当前页码标签时,将所述当前页码标签置空;当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
可选地,解析所述占位符和自定义标签,以得到xml文件模板的步骤之前,包括:确定所述word xml文件通过合法性校验。
可选地,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为word xml文件,所述自定义标签包括当前页码标签、分页标签、表格标签中的一种或多种,解析所述占位符和自定义标签,以得到xml文件模板的步骤,包括:解析所述word xml文件中的当前页码标签,以确定目标解析页面;清除所述目标解析页面的占位符内的word标签;解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签;将执行所述清除和解析之后的目标解析页面保存为页面模板,并根据所述页面模板和已存的历史模板得到所述xml文件模板。
可选地,解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的步骤,包括:解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的标签类型,其中:当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
可选地,解析所述word xml文件中的当前页码标签,以确定目标解析页面的步骤之后,包括:确定所述目标解析页面通过合法性校验。
可选地,所述已存的历史模板为历史文件模板,根据所述页面模板和已存的历史模板得到所述xml文件模板的步骤,包括:获取所述历史文件模板的相应页面的历史页面模板;根据所述页面模板和所述历史文件模板的相应页面的历史页面模板得到所述xml文件模板。
可选地,所述已存的历史模板为历史页面模板,根据所述页面模板和已存的历史模板得到所述xml文件模板的步骤,包括:根据所述页面模板和所述历史页面模板得到所述xml文件模板。
根据本发明实施例的另一方面,提供了一种导出电子文档的装置。
一种导出电子文档的装置,包括:文件生成模块,用于根据接收的电子文档模板,生成包括占位符和自定义标签的xml文件;文件解析模块,用于解析所述占位符和自定义标签,以得到xml文件模板;文档导出模块,用于将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档。
可选地,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为word xml文件,所述自定义标签包括当前页码标签、分页标签、表格标签中的一种或多种,所述文件解析模块还用于:逐页清除所述word xml文件中的占位符内的word标签;逐页解析所述word xml文件中的自定义标签;将执行所述逐页清除和所述逐页解析之后的wordxml文件保存为xml文件模板。
可选地,所述文件解析模块包括第一解析子模块,用于:逐页解析所述word xml文件中的自定义标签的标签类型,其中:当解析出所述标签类型为当前页码标签时,将所述当前页码标签置空;当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
可选地,还包括第一校验模块,用于:确定所述word xml文件通过合法性校验。
可选地,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为word xml文件,所述自定义标签包括当前页码标签、分页标签、表格标签中的一种或多种,所述文件解析模块还用于:解析所述word xml文件中的当前页码标签,以确定目标解析页面;清除所述目标解析页面的占位符内的word标签;解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签;将执行所述清除和解析之后的目标解析页面保存为页面模板,并根据所述页面模板和已存的历史模板得到所述xml文件模板。
可选地,所述文件解析模块包括第二解析子模块,用于:解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的标签类型,其中:当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
可选地,还包括第二校验模块,用于:确定所述目标解析页面通过合法性校验。
可选地,所述已存的历史模板为历史文件模板,所述文件解析模块包括第一生成子模块,用于:获取所述历史文件模板的相应页面的历史页面模板;根据所述页面模板和所述历史文件模板的相应页面的历史页面模板得到所述xml文件模板。
可选地,所述已存的历史模板为历史页面模板,所述文件解析模块包括第二生成子模块,用于:根据所述页面模板和所述历史页面模板得到所述xml文件模板。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现导出电子文档的方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现导出电子文档的方法。
上述发明中的一个实施例具有如下优点或有益效果:根据接收的电子文档模板生成包括占位符和自定义标签的xml文件;解析该占位符和自定义标签,以得到xml文件模板;将xml文件模板转换为预设格式的模板文件,并将业务数据载入模板文件,以导出电子文档。根据本发明实施例,避免了对xml文件的二次开发,实现以自动化代替手工编码的方式导出电子文档,可维护性高,解决生成电子文档费时费力、工作繁琐的问题,降低人员工作量,提高研发效率,并可实现电子文档样式的前端和后端开发的分离(解耦),支持多页数的、带有图片和多表格等复杂类型的电子文档动态数据导出,完美保留前端提供的模板样式,支持可视化操作并能进行版本控制,还可实现页面级别的版本存储。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的导出word文档的方法的主要步骤示意图;
图2是现有技术与本发明实施例的表格样式解析结果对照的示意图;
图3是根据本发明实施例的可视化界面的示意图;
图4是根据本发明的一个实施例的导出word文档的方法的优选流程示意图;
图5是根据本发明的另一个实施例的导出word文档的方法的优选流程示意图;
图6是根据本发明的又一个实施例的导出word文档的方法的优选流程示意图;
图7是根据本发明实施例的导出word文档的装置的主要模块示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的导出word文档的方法的主要步骤示意图。
如图1所示,本发明实施例的导出word文档的方法主要包括如下的步骤S101至步骤S103。
步骤S101:根据接收的word模板生成含有占位符和自定义标签的word xml文件。
word模板为根据业务需求由美工编辑需要导出的word的样式模板,支持多个页面、多个图片、多个表格等复杂样式。
其中,自定义标签可以包括当前页码标签、分页标签、表格标签中的一种或多种。需要说明的是,这些自定义标签与导出word文档所使用的模板引擎的标签以及word自己特有的xml的标签是互斥的,即自定义时需要避开模板引擎、word自带的xml标签,使自定义标签能够与模板引擎以及word xml标签同时使用而不互相干扰。
下面详细介绍各自定义标签的应用场景。
一、分页标签的应用场景。当word模板页数较多时,有时只需修改word模板中的某一页的一个模板的样式,如果当前修改页面的样式出现了问题,很有可能把当前页面的部分内容挤到下一个页面中,影响了后面所有页面的样式,对于研发人员而言,这是一种牵一发而动全身的不好的开发体验。此外,如果某个表格是服务器后台动态生成的数据,表格具体的行数预先是未知的,比如第一页是表格,第二页是图片,假设根据实际业务数据生成的结果是表格占了2页零两行,第3页表格只占用了2行内容,表格的后两行与图片同时出现在第3页,但是从业务角度是期望图片重新占用一页,按照现有技术的方案则无法很好地达到这一目的。使用本发明实施例的分页标签则解决上述这些问题,可以实现强制进行word文档的另起一页的功能,这样,无论是受到操作当前页面、还是动态生成业务数据不可控的影响,都可以使最终导出的word文档在页码上互相不干扰。
二、当前页码标签的应用场景。如果word模板一共有10页,当前次修改只需修改第6页的页面样式,现有技术的一种方案是:将前端提供的修改后的整个word模板,从第1页开始,将所有的占位符重新再替换一遍,此种做法费时费力,但是往往开发人员为了避免后续出现替换方面的问题,不得不采用这种耗时且低效率的方法;现有技术的另一种方案是:开发人员得到修改后的word模板后,仅替换第六页的占位符,而其他页面的占位符不做任何的改动,然后将word模板另存为word xml模板,再从word xml模板中提取第六页的内容出来,替换原来未修改之前保存的模板中的第6页的数据,相当于将原有的未做修改的wordxml文件与修改后的word xml文件进行一个手动的组装,而这种手动组装过程相当于代码级别的二次开发,需要研发人员对于word版本的xml标签能够有一定的了解,并且对研发人员的经验以及细致程度有一定的要求,稍有不慎,就会前功尽弃,只能重新再操作一次,会耗费大量的时间和精力来达到这一目的。利用本发明实施例的当前页码标签可以很好地克服上述现有技术的方案的缺陷,通过将一个word模板拆分成多个页面,如果某一页的样式需要进行较大的改动时,只需重新编辑改动页,并在改动页上面增加当前页码的标签,在模板解析时解析到当前页码标签时便可以只对改动页的相关内容进行操作,然后将改动页单独保存成一个页面模板,通过获取历史页面模板与改动页的页面模板进行重组,生成一个新的模板。使用本发明实施例的当前页码标签无需对前端提供的修改后的整个word模板重头至尾进行操作,省时省力,也无需进行代码级别的二次开发,能够实现自动化、灵活地组装文件模板,从而研发人员无需花费精力去了解word版本的xml标签,降低了对研发人员的经验以及细致程度的要求,给研发人员带来了极大的便利,并减少了出现错误的概率。
三、表格标签的应用场景。表格标签的具体形式例如:[表格开始${占位符}]、[表格结束${占位符}]。
表格类型的输出有一个非常严重的问题,即对word模板进行编辑时,将表格的表头和第一行中每一个字段进行占位符替换后,生成的word文档,行与行之间具有较大的空隙,不是连贯的,需要研发人员对另存的xml文件进行二次开发,手动改变标签之间循环输出的层级关系。本发明实施例的表格标签可以很好地解决这一问题,研发环节在修改word模板时,在表格上方增加一个表格标签,表格标签中包含一个占位符,用于替换业务数据。通过解析该表格标签,可以自动识别该表格标签对应的表格,自动解析表格样式进行相应的操作,从而研发人员无需对可读性差的xml文件进行二次开发,提升研发效率,并且避免了人为二次开发错误率高的缺陷,最后导出的word文档的样式非常美观。现有技术与本发明实施例的表格样式解析结果对照的示意图具体如图2所示,图2中,虚线框A中为现有技术的表格样式解析结果,虚线框B中为本发明实施例的表格样式解析结果。
上述各自定义标签的使用方法将结合下述的各步骤还将进行详细介绍。
步骤S102:解析word xml文件中的占位符和自定义标签,以得到xml文件模板。
在一种实施方式中,可以适用于基于一个新的word模板来导出word文档的情形,由于该情形不是基于已有word模板的某一个或多个改动页来导出word文档,因此通常不需要通过可视化界面来选择历史模板(包括历史文件模板、历史页面模板)的信息。
解析word xml文件中的占位符和自定义标签,以得到xml文件模板的步骤,可以包括:解析占位符,即逐页清除word xml文件中的占位符内的word标签;以及,逐页解析wordxml文件中的自定义标签;将执行逐页清除和逐页解析之后的word xml文件保存为xml文件模板。
具体地,解析占位符时,程序会自动判断占位符[#if list??]的开始和结束位置,自动将占位符内的冗余word xml标签(即word标签)清除掉,占位符内的word xml标签会将一个完整的占位符强制分开,从而导致数据无法正常生成,因此需要清除。例如,在word文档中编辑如下的占位符:{$month}
另存为xml文档,相应的xml代码提取出来为:
<w:r><w:rPr><w:rFonts
w:hint="eastAsia"/></w:rPr><w:t>${</w:t></w:r><w:r
w:rsidR="00AD4D81"><w:t>month</w:t></w:r><w:r><w:rPr><w:rFonts
w:hint="eastAsia"/></w:rPr><w:t>}</w:t></w:r>
其中,“</w:t></w:r><w:r w:rsidR="00AD4D81"><w:t>”,以及
“</w:t></w:r><w:r><w:rPr><w:rFonts
w:hint="eastAsia"/></w:rPr><w:t>”部分为冗余的word标签,需要清除。通过程序自动清除这些冗余的word标签,避免研发人员对word xml模板进行二次开发,省时省力。
逐页解析word xml文件中的自定义标签的步骤,可以包括:逐页解析word xml文件中的自定义标签的标签类型,其中:当解析出标签类型为当前页码标签时,将当前页码标签置空;当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
具体地,如果解析到分页标签,那么会将其转换成word xml语言中的分页符号,以便强制换页,使得研发人员无需为了页与页之间的内容混淆而烦恼。
在本实施方式中,由于通常是基于一个新的word模板来导出word文档,而不是特定针对某一个页面或几个页面进行解析,因此在解析到当前页码标签,可将当前页码标签置空,以使程序对每一个页面的内容都进行解析。
如果解析到表格标签那么会将表格文本整个提取出来进行处理,首先是要将wordxml中该表格的行数据提取出来,因为后台数据需要循环输出这一行,要在行数据的外围增加循环语句,需要调整标签之前的嵌套顺序,否则生成的行与行之间存在较大空隙,不是一个正常的表格样式,然后是要在表头的外围增加表格对象的非空判断和声明的语句,用程序来组装出既可以保留表格的原本样式,又能动态循环输出表格内容的文本。例如:如下的xml代码生成的行与行之间存在较大空隙。
Figure BDA0001510038140000111
Figure BDA0001510038140000121
本发明实施例在解析到表格标签后,将自动调整循环嵌套顺序为:
Figure BDA0001510038140000122
调整循环嵌套顺序之后使得解析表格程序循环时,循环整个表格的样式,而不是仅循环表格第一行的具体内容的样式。
本发明实施例通过程序解析word xml文件中的占位符和自定义标签,完全替代了研发人员手工的二次开发,使得整个解析过程可以通过程序自动化实现,将开发人员从重复性和繁琐的工作中解脱出来。研发人员只需要操word模板即可,大大降低了研发人员的工作量,并减少了出现错误的概率。
解析word xml文件中的占位符和自定义标签,以得到xml文件模板的步骤之前,可以确定word xml文件通过合法性校验。其中,合法性校验可以包括校验word xml文件中的语法是否合法,具体可以针对占位符替换以及自定义标签库的语法校验,例如校验占位符${}的{}是否完整、自定义标签的尖括号是否完整等,当合法性校验不通过时,可以通过可视化界面向用户输出提示信息。
解析word xml文件中的占位符和自定义标签,以得到xml文件模板的步骤之后,可以保存xml文件模板的每个页面的页面模板。
其中,可以通过可视化界面将xml文件模板、每个页面的页面模板以xml格式存储在云存储服务器的指定目录下,本发明实施例提供关系型数据库脚本,可以把xml文件模板、每个页面的页面模板的ID、名称、模板下载地址等信息保存到关系型数据库中。这样,xml文件模板、xml页面模板的文件本身存储在云存储服务器,而关系型数据库存储文件对应在云存储服务器中的地址,需要相应的模板时可直接从云存储服务器下载即可。
在另一种实施方式中,可以适用于基于已有word模板的某一个或多个改动页来导出word文档的情形。在这种情形下,通常需要选择历史模板(包括历史文件模板、历史页面模板)的信息,以便利用生成的改动页的页面模板与历史模板来生成新的xml文件模板,因此可以通过可视化界面来接收历史模板的选择信息。
解析word xml文件中的占位符和自定义标签,以得到xml文件模板的步骤,具体可以包括:解析word xml文件中的当前页码标签,以确定目标解析页面;清除目标解析页面的占位符内的word标签;解析目标解析页面的除当前页码标签之外的其他自定义标签;将执行清除和解析之后的目标解析页面保存为页面模板,并根据目标解析页面的页面模板和已存的历史模板得到xml文件模板。
其中,解析所述目标解析页面的除当前页码标签之外的其他自定义标签的步骤,具体可以包括:解析目标解析页面的除当前页码标签之外的其他自定义标签的标签类型,其中:当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
由于在上一个实施方式中已经详细介绍了解析占位符和自定义标签的技术实现细节,此处不再赘述。
解析word xml文件中的当前页码标签,以确定目标解析页面的步骤之后,可以确定目标解析页面通过合法性校验。该合法性校验与上述确定word xml文件通过合法性校验类似,可以包括校验目标解析页面中的语法是否合法,具体可以针对目标解析页面中的占位符替换以及自定义标签库的语法校验,例如校验占位符${}的{}是否完整、自定义标签的尖括号是否完整等,并且当合法性校验不通过时,可以通过可视化界面向用户输出提示信息。
解析word xml文件中的占位符和自定义标签,以得到xml文件模板的步骤之前,可以通过可视化界面接收已存的历史模板的选择信息。
其中,已存的历史模板可以包括历史文件模板和历史页面模板,历史文件模板的ID与该历史文件模板的各页面的历史页面模板的ID关联存储在数据库中,可以通过历史文件模板的ID获取到该历史文件模板的各页面的历史页面模板。已存的历史模板的选择信息可以为历史文件模板ID,也可以为为历史页面模板ID。
本发明实施例的可视化界面可以提供xml文件模板、页面模板的上传、查询检索、版本控制可视化操作等功能。具体地,如前述内容所介绍的,可以通过可视化界面将xml文件模板、每个页面的页面模板上传到云存储服务器的指定目录下以便存储,云存储服务器中保存了各历史模板的文件,包括xml格式的历史文件模板、历史页面模板,各历史模板具有各自的ID,关系型数据库存储各历史模板的ID、名称、模板下载地址等信息。还可以通过可视化界面查询检索存储的各历史模板,并可以通过输入、勾选等方式对需要的历史模板(包括历史文件模板、历史页面模板)进行选择。
根据目标解析页面的页面模板和已存的历史模板得到xml文件模板的步骤,具体可以包括:获取历史文件模板的相应页面的历史页面模板,其中可以根据历史文件模板ID获取该历史文件模板的各页面的历史页面模板;根据该目标解析页面的页面模板和该历史页面模板得到xml文件模板。例如,xml文件模板共有六页,存在多个历史文件模板(即xml文件模板有多个历史版本),可以任意选择历史文件模板,并根据选择的历史文件模板ID提取所有页面的历史页面模板,然后根据目标解析页面的页面模板与除目标解析页面的页码之外的其他页码对应页面的历史页面模板重新组装生成一个全新的xml文件模板。对于本例的六页的xml文件模板,假设目标解析页面的页面模板为第5页,可从v1.0版本的模板文件中选择第1页、第2页,从v2.0版本的历史模板文件中选择第3页、第4页,从v3.0版本的历史模板文件中选择第6页,来组装生成新的六页的模板文件。
或者,根据目标解析页面的页面模板和已存的历史模板得到xml文件模板的步骤,具体可以包括:根据页面模板和历史页面模板得到xml文件模板,其中,可以首先获取历史页面模板ID对应的历史页面模板,然后根据目标解析页面的页面模板和历史页面模板ID对应的历史页面模板得到xml文件模板。例如,xml文件模板共有10页,其中,每个页面有多个历史页面模板(即每个页面有多个历史版本),通过可视化界面可以任意选择每个页面的历史页面模板,与目标解析页面的页面模板重新组装生成一个全新的xml文件模板。
本发明实施例根据目标解析页面的页面模板和已存的历史文件模板(或历史页面模板)得到xml文件模板,使得在后续对个别页面进行修改并重新导出word文档时,可以只解析经过修改的个别页面,根据该解析的个别页面和已存的历史文件模板(或历史页面模板)便可以灵活组装生成新的xml文件模板,最后导出word文档。从而无需重头至尾地进行替换占位符、手动组装xml文件等重复性劳动,减轻研发人员工作量,并减少了出现错误的概率。
本发明实施例的可视化界面的示意图如图3所示。模板文件的维护是一个长期的过程,为了方便研发人员的开发,本发明实施例通过可视化界面来实现对模板的版本控制,研发人员无需本地保存历史模板文件,可通过可视化界面将上传的模板文件保存为文件模板和页面模板,并且程序自动生成版本号,研发人员可以随意选择需要的版本的模板。同时,为了提高研发人员的开发效率,页面模板可以根据需要随意组装,也可以对某一个页面进行替换,或者从不同版本的文件模板中挑选不同的页面模板进行组装,生成文件模板的方式非常灵活,并且可以细化到对每一个页面的版本控制,由于保留了每个页面、文件的历史版本,在业务需求调整时还可以读取历史版本进行参考。
步骤S103:将xml文件模板转换为预设格式的模板文件,并将业务数据载入模板文件,根据载入业务数据的模板文件导出word文档。
具体地,可以通过模板引擎将xml文件模板转换为预设格式的模板文件,模板引擎主要是用于Web开发的模板引擎,是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档。模板引擎的实现方式有很多,最简单的是“置换型”模板引擎,这类模板引擎可以将指定模板内容(字符串)中的特定标记(子字符串)替换生成最终需要的业务数据(比如网页)。本发明使用的模板引擎可以为FreeMarker,FreeMarker是一款模板引擎,它是一种基于模板和要改变的数据,并用来生成输出文本的通用工具。
预设格式可以为模板引擎支持的格式,例如模板引擎可以是freemarker模板引擎,相应地,freemarker模板引擎可以将xml文件模板转换为ftl格式的模板文件,然后将ftl格式的模板文件中的占位符替换成真实的业务数据,并另存为word文档,从而完成word文档的导出。
本发明实施例还可以在通过可视化界面上传文件模板、页面模板时,之间进行预设文件的保存。例如,通过可视化界面可以将xml文件模板、xml页面模板直接另存为云存储服务器指定目录下的ftl文件,以便通过freemarker模板引擎将业务数据载入模板文件,根据载入业务数据的模板文件导出word文档。
图4是根据本发明的一个实施例的导出word文档的方法的优选流程示意图。
如图4所示,本发明的一个实施例的导出word文档的方法的优选流程包括如下的步骤S401至步骤S407。
步骤S401:接收word模板,并编辑接收的word模板,得到word xml文件。
编辑接收的word模板具体包括:将word模板中的静态文本替换成占位符,并在word模板中添加自定义标签,然后将含有占位符和自定义标签的word模板另存为word xml文件。
自定义标签可以包括当前页码标签、分页标签、表格标签中的一种或多种。
步骤S402:对word xml文件进行合法性校验,若校验通过,则执行步骤S403,否则执行步骤S404。
步骤S403:逐页解析word xml文件中的占位符和自定义标签。
该解析的操作具体包括,逐页清除word xml文件中的占位符内的word标签和解析word xml文件中的自定义标签的标签类型,并执行与标签类型对应的预设操作。
其中,执行与标签类型对应的预设操作包括:当解析出标签类型为当前页码标签时,将当前页码标签置空;当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
执行完本步骤之后执行步骤S405。
步骤S404:输出校验未通过的提示信息。
可通过可视化界面输出该提示信息。
步骤S405:将执行完步骤S403的解析操作之后的word xml文件保存为xml文件模板,以及保存每个页面的页面模板。
步骤S406:通过freemarker模板引擎将xml文件模板转换为ftl文件。
步骤S407:通过freemarker模板引擎将ftl文件中的占位符替换成真实的业务数据,以导出word文档。
图5是根据本发明的另一个实施例的导出word文档的方法的优选流程示意图。
如图5所示,本发明的另一个实施例的导出word文档的方法的优选流程包括如下的步骤S501至步骤S511。
步骤S501:接收word模板,并编辑接收的word模板,得到word xml文件。
编辑接收的word模板具体包括:将word模板中的静态文本替换成占位符,并在word模板中添加自定义标签,然后将含有占位符和自定义标签的word模板另存为word xml文件。
步骤S502:通过可视化界面接收对已存的历史文件模板的选择信息。
具体地,对已存的历史文件模板的选择信息可以是历史文件模板ID。
步骤S503:解析word xml文件中的当前页码标签,以确定目标解析页面。
步骤S504:对目标解析页面进行合法性校验,若是,则执行步骤S505,否则执行步骤S506。
步骤S505:解析目标解析页面中的占位符和自定义标签。
该解析的操作具体包括:清除目标解析页面的占位符内的word标签和解析目标解析页面的除当前页码标签之外的其他自定义标签的标签类型,并执行与标签类型对应的预设操作。
其中,执行与标签类型对应的预设操作包括:当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
执行完本步骤之后,执行步骤S507。
步骤S506:输出校验未通过的提示信息。
可通过可视化界面输出该提示信息。
步骤S507:保存执行完步骤S505的解析操作之后的目标解析页面的页面模板。
步骤S508:获取选择的历史文件模板的各页面的历史页面模板。
步骤S509:根据目标解析页面的页面模板与除目标解析页面之外的其他页面的历史页面模板重新组装生成xml文件模板。
步骤S509具体为:根据目标解析页面的页面模板与除目标解析页面的页码之外的其他页码对应页面的历史页面模板重新组装生成xml文件模板。
步骤S510:通过freemarker模板引擎将xml文件模板转换为ftl文件。
步骤S511:通过freemarker模板引擎将ftl文件中的占位符替换成真实的业务数据,以导出word文档。
图6是根据本发明的又一个实施例的导出word文档的方法的优选流程示意图。
如图6所示,本发明的又一个实施例的导出word文档的方法的优选流程中,将图5所示的流程中的步骤S502替换为步骤S602,步骤S508替换为步骤S608,步骤S509替换为步骤S609。其中:
步骤S602包括:通过可视化界面接收对已存的历史页面模板的选择信息。
对已存的历史页面模板的选择信息可以为历史页面模板ID。
步骤S608包括:获取选择的历史页面模板。
步骤S609包括:根据目标解析页面的页面模板与选择的历史页面模板重新组装生成xml文件模板。
图7是根据本发明实施例的导出word文档的装置的主要模块示意图。
如图7所示,本发明实施例的导出word文档的装置700主要包括:文件生成模块701、文件解析模块702、文档导出模块703。
文件生成模块701用于根据接收的word模板生成含有占位符和自定义标签的wordxml文件。
其中,自定义标签包括当前页码标签、分页标签、表格标签中的一种或多种。自定义标签可以存储在预设的标签库中。
文件解析模块702用于解析word xml文件中的占位符和自定义标签,以得到xml文件模板。
在一个实施方式中,
文件解析模块702具体可以用于:逐页清除word xml文件中的占位符内的word标签;逐页解析word xml文件中的自定义标签;将执行逐页清除和逐页解析之后的word xml文件保存为xml文件模板。
文件解析模块702可以包括第一解析子模块,用于:逐页解析word xml文件中的自定义标签的标签类型,其中:当解析出标签类型为当前页码标签时,将当前页码标签置空;当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
导出word文档的装置700还可以包括第一校验模块,用于:确定word xml文件通过合法性校验。
导出word文档的装置700还可以包括页面模板保存模块,用于:保存xml文件模板的每个页面的页面模板。
在另一个实施方式中,
文件解析模块702具体可以用于:解析word xml文件中的当前页码标签,以确定目标解析页面;清除目标解析页面的占位符内的word标签;解析目标解析页面的除当前页码标签之外的其他自定义标签;将执行清除和解析之后的目标解析页面保存为页面模板,并根据目标解析页面的页面模板和已存的历史模板得到xml文件模板。
文件解析模块702可以包括第二解析子模块,用于:解析目标解析页面的除当前页码标签之外的其他自定义标签的标签类型,其中:当解析出标签类型为分页标签时,将分页标签替换为word分页标签;当解析出标签类型为表格标签时,调整表格标签所标识的xml代码的循环嵌套顺序。
导出word文档的装置700还可以包括第二校验模块,用于:确定目标解析页面通过合法性校验。
导出word文档的装置700还可以包括选择信息接收模块,用于:通过可视化界面接收已存的历史模板的选择信息。已存的历史模板可以包括历史文件模板和历史页面模板。
其中,已存的历史模板的选择信息可以为历史文件模板ID,相应地,文件解析模块702可以包括第一生成子模块,用于:获取历史文件模板的相应页面的历史页面模板,其中可以根据历史文件模板ID获取该历史文件模板的相应页面的历史页面模板;根据目标解析页面的页面模板和历史文件模板的相应页面的历史页面模板得到xml文件模板。
或者,已存的历史模板的选择信息可以为历史页面模板ID,相应地,文件解析模块702可以包括第二生成子模块,用于:根据目标解析页面的页面模板和历史页面模板得到xml文件模板,其中,可以首先获取历史页面模板ID对应的历史页面模板,然后根据目标解析页面的页面模板和历史页面模板ID对应的历史页面模板得到xml文件模板。
文档导出模块703用于将xml文件模板转换为预设格式的模板文件,并将业务数据载入模板文件,根据载入业务数据的模板文件导出word文档。
具体地,文档导出模块703可以通过模板引擎将xml文件模板转换为预设格式的模板文件,预设格式为模板引擎支持的格式,例如模板引擎可以是freemarker模板引擎,相应地,freemarker模板引擎可以将xml文件模板转换为ftl格式的模板文件,然后将ftl格式的模板文件中的占位符替换成真实的业务数据,并另存为word文档,从而完成word文档的导出。
另外,在本发明实施例中导出word文档的装置的具体实施内容,在上面所述导出word文档的方法中已经详细说明了,故在此重复内容不再说明。
本发明实施例的导出word文档的方法和装置在基于模板引擎导出word的基础上,避免了对word xml文件的二次开发,很大程度上减轻了研发人员的工作量以及出现错误的概率,对开发人员的经验和技术水平的要求大幅降低,能够快速地上手操作,实现产品的快速开发和迭代。并且实现了前端和后端的相互隔离,使得前端专注于界面的美观性,使得后端研发人员专注于业务逻辑和数据处理。因此,本发明实施例在进行开发的过程中,节省人力、时间成本,有效提升word文档导出的效率和效果。
图8示出了可以应用本发明实施例的导出word文档的方法或导出word文档的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如产品信息等)反馈给终端设备。
需要说明的是,本发明实施例所提供的导出word文档的方法可以由服务器805或终端设备801、802、803执行,相应地,导出word文档的装置可以设置于服务器805或终端设备801、802、803中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统900的结构示意图。图9示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括文件生成模块701、文件解析模块702、文档导出模块703。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,文件生成模块701还可以被描述为“用于根据接收的word模板生成含有占位符和自定义标签的word xml文件的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据接收的word模板生成含有占位符和自定义标签的word xml文件;解析所述word xml文件中的占位符和自定义标签,以得到xml文件模板;将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,根据载入所述业务数据的模板文件导出word文档。
根据本发明实施例的技术方案,根据接收的word模板生成包括占位符和自定义标签的word xml文件;解析占位符和自定义标签,以得到xml文件模板;将xml文件模板转换为预设格式的模板文件,并将业务数据载入模板文件,以导出word文档。根据本发明实施例,避免了对word xml文件的二次开发,实现以自动化代替手工编码的方式导出word文档,可维护性高,解决生成word文档费时费力、工作繁琐的问题,降低人员工作量,提高研发效率,并可实现word样式的前端和后端开发的分离(解耦),支持多页数的、带有图片和多表格等复杂类型的word动态数据导出,完美保留前端提供的模板样式,支持可视化操作并能进行版本控制,还可实现页面级别的版本存储。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种导出电子文档的方法,其特征在于,包括:
根据接收的电子文档模板,生成包括占位符和自定义标签的xml文件;
解析所述占位符和自定义标签,以得到xml文件模板;
将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档;
其中,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为wordxml文件,所述自定义标签包括分页标签、表格标签中的一种或多种;
在所述自定义标签还包括当前页码标签的情况下,解析所述占位符和自定义标签,以得到xml文件模板的步骤,包括:解析所述word xml文件中的当前页码标签,以确定目标解析页面;清除所述目标解析页面的占位符内的word标签;解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签;将执行所述清除和解析之后的目标解析页面保存为页面模板,并根据所述页面模板和已存的历史模板得到所述xml文件模板;
在所述已存的历史模板为历史文件模板的情况下,根据所述页面模板和已存的历史模板得到所述xml文件模板的步骤,包括:获取所述历史文件模板的相应页面的历史页面模板;根据所述页面模板和所述历史文件模板的相应页面的历史页面模板得到所述xml文件模板。
2.根据权利要求1所述的方法,其特征在于,在所述自定义标签不包括当前页码标签的情况下,解析所述占位符和自定义标签,以得到xml文件模板的步骤,包括:
逐页清除所述word xml文件中的占位符内的word标签;
逐页解析所述word xml文件中的自定义标签;
将执行所述逐页清除和所述逐页解析之后的word xml文件保存为xml文件模板。
3.根据权利要求2所述的方法,其特征在于,逐页解析所述word xml文件中的自定义标签的步骤,包括:
逐页解析所述word xml文件中的自定义标签的标签类型,其中:
当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;
当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
4.根据权利要求2所述的方法,其特征在于,解析所述占位符和自定义标签,以得到xml文件模板的步骤之前,包括:
确定所述word xml文件通过合法性校验。
5.根据权利要求1所述的方法,其特征在于,解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的步骤,包括:
解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的标签类型,其中:
当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;
当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
6.根据权利要求1所述的方法,其特征在于,解析所述word xml文件中的当前页码标签,以确定目标解析页面的步骤之后,包括:
确定所述目标解析页面通过合法性校验。
7.根据权利要求1所述的方法,其特征在于,在所述已存的历史模板为历史页面模板的情况下,根据所述页面模板和已存的历史模板得到所述xml文件模板的步骤,包括:
根据所述页面模板和所述历史页面模板得到所述xml文件模板。
8.一种导出电子文档的装置,其特征在于,包括:
文件生成模块,用于根据接收的电子文档模板,生成包括占位符和自定义标签的xml文件;
文件解析模块,用于解析所述占位符和自定义标签,以得到xml文件模板;
文档导出模块,用于将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档;
其中,所述电子文档为word文档,所述电子文档模板为word模板,所述xml文件为wordxml文件,所述自定义标签包括分页标签、表格标签中的一种或多种;
在所述自定义标签还包括当前页码标签的情况下,所述文件解析模块还用于:解析所述word xml文件中的当前页码标签,以确定目标解析页面;清除所述目标解析页面的占位符内的word标签;解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签;将执行所述清除和解析之后的目标解析页面保存为页面模板,并根据所述页面模板和已存的历史模板得到所述xml文件模板;
在所述已存的历史模板为历史文件模板的情况下,所述文件解析模块包括第一生成子模块,用于:获取所述历史文件模板的相应页面的历史页面模板;根据所述页面模板和所述历史文件模板的相应页面的历史页面模板得到所述xml文件模板。
9.根据权利要求8所述的装置,其特征在于,在所述自定义标签不包括当前页码标签的情况下,
所述文件解析模块还用于:
逐页清除所述word xml文件中的占位符内的word标签;
逐页解析所述word xml文件中的自定义标签;
将执行所述逐页清除和所述逐页解析之后的word xml文件保存为xml文件模板。
10.根据权利要求9所述的装置,其特征在于,所述文件解析模块包括第一解析子模块,用于:
逐页解析所述word xml文件中的自定义标签的标签类型,其中:
当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;
当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
11.根据权利要求9所述的装置,其特征在于,还包括第一校验模块,用于:
确定所述word xml文件通过合法性校验。
12.根据权利要求8所述的装置,其特征在于,所述文件解析模块包括第二解析子模块,用于:
解析所述目标解析页面的除所述当前页码标签之外的其他自定义标签的标签类型,其中:
当解析出所述标签类型为分页标签时,将所述分页标签替换为word分页标签;
当解析出所述标签类型为表格标签时,调整所述表格标签所标识的xml代码的循环嵌套顺序。
13.根据权利要求8所述的装置,其特征在于,还包括第二校验模块,用于:
确定所述目标解析页面通过合法性校验。
14.根据权利要求8所述的装置,其特征在于,在所述已存的历史模板为历史页面模板的情况下,
所述文件解析模块包括第二生成子模块,用于:
根据所述页面模板和所述历史页面模板得到所述xml文件模板。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201711349886.0A 2017-12-15 2017-12-15 一种导出电子文档的方法和装置 Active CN109933752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711349886.0A CN109933752B (zh) 2017-12-15 2017-12-15 一种导出电子文档的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711349886.0A CN109933752B (zh) 2017-12-15 2017-12-15 一种导出电子文档的方法和装置

Publications (2)

Publication Number Publication Date
CN109933752A CN109933752A (zh) 2019-06-25
CN109933752B true CN109933752B (zh) 2023-05-30

Family

ID=66980030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711349886.0A Active CN109933752B (zh) 2017-12-15 2017-12-15 一种导出电子文档的方法和装置

Country Status (1)

Country Link
CN (1) CN109933752B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442335A (zh) * 2019-07-17 2019-11-12 浙江国际油气交易中心有限公司 一种石油化工交易会员管理系统的实现装置
CN110430022B (zh) * 2019-08-19 2022-04-19 深圳市鹏海运电子数据交换有限公司 数据传输方法及装置
CN110598153B (zh) * 2019-09-12 2022-11-15 南京红松信息技术有限公司 基于用户端浏览器生成指定格式的word文档的方法
CN110580158A (zh) * 2019-09-12 2019-12-17 上海米哈游网络科技股份有限公司 一种代码生成方法、装置、存储介质及电子设备
CN110968996B (zh) * 2019-11-13 2024-04-26 安徽东方智云科技有限公司 一种文档制作方法、装置、设备以及存储介质
CN111046635B (zh) * 2019-12-13 2023-09-29 深圳前海环融联易信息科技服务有限公司 制作freemarker模板的方法、装置、计算机设备以及存储介质
CN113126981B (zh) * 2019-12-31 2023-10-03 北京懿医云科技有限公司 一种基于Excel的医疗数据处理方法及装置
CN111325012B (zh) * 2020-01-22 2024-02-06 奇安信科技集团股份有限公司 word报表生成方法与系统
CN113449502A (zh) * 2021-06-29 2021-09-28 平安资产管理有限责任公司 基于动态数据的文档生成方法与系统
CN113361234A (zh) * 2021-07-09 2021-09-07 南方电网数字电网研究院有限公司 基于模板引擎的文档导出方法、系统、设备和存储介质
CN113609820B (zh) * 2021-07-30 2024-04-30 中国平安财产保险股份有限公司 基于可扩展标记语言文件生成word文件的方法、装置及设备
CN113807071A (zh) * 2021-08-31 2021-12-17 浙江浙大中控信息技术有限公司 一种基于ocr的文档生成方法
CN114237740A (zh) * 2021-12-08 2022-03-25 中盈优创资讯科技有限公司 一种基于标签化语言的白盒化配置方法及装置
CN115391439B (zh) * 2022-08-24 2023-04-07 中化现代农业有限公司 文档数据导出方法、装置、电子设备和存储介质
CN115618841A (zh) * 2022-11-29 2023-01-17 明度智云(浙江)科技有限公司 一种文档导出方法、装置、设备及存储介质
CN115809652B (zh) * 2023-01-28 2023-05-23 北京蓝色星际科技股份有限公司 自动合成红头文件的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1799046A (zh) * 2004-04-30 2006-07-05 微软公司 用于文档处理的方法和装置
CN1823330A (zh) * 2004-04-30 2006-08-23 微软公司 模块化文档格式
EP1748365A1 (en) * 2005-07-27 2007-01-31 Hewlett-Packard Development Company, L.P. Document Template Generation
CN103329122A (zh) * 2011-01-18 2013-09-25 苹果公司 使用多个表示的文档存储

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114435A1 (en) * 2003-11-21 2005-05-26 Microsoft Corporation Web-based deployment of context sensitive navigational elements within a user interface
US7320007B1 (en) * 2003-12-12 2008-01-15 Peter Hon-You Chang Dynamic generation of target files from template files and tracking of the processing of target files
US8346803B2 (en) * 2003-12-12 2013-01-01 Knapp Investment Company Limited Dynamic generation of target files from template files and tracking of the processing of target files
US7447683B2 (en) * 2005-03-31 2008-11-04 Jiles, Inc. Natural language based search engine and methods of use therefor
CN101976235B (zh) * 2010-09-21 2012-07-25 天津神舟通用数据技术有限公司 基于动态网页的可扩展的Word报告自动生成方法
WO2013009710A1 (en) * 2011-07-08 2013-01-17 Steamfunk Labs, Inc. Automated presentation of information using infographics
CN106294493B (zh) * 2015-06-08 2020-05-08 腾讯科技(深圳)有限公司 实现文档格式转换的方法及装置
CN106874244B (zh) * 2017-01-03 2022-05-20 宁波财经学院 一种基于工作序列的文档自动生成模型的构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1799046A (zh) * 2004-04-30 2006-07-05 微软公司 用于文档处理的方法和装置
CN1823330A (zh) * 2004-04-30 2006-08-23 微软公司 模块化文档格式
EP1748365A1 (en) * 2005-07-27 2007-01-31 Hewlett-Packard Development Company, L.P. Document Template Generation
CN103329122A (zh) * 2011-01-18 2013-09-25 苹果公司 使用多个表示的文档存储

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张海建 ; 孙丹 ; .基于JAVA和XML的WORD文档自动生成技术研究与应用.信息与电脑(理论版).2010,(01),全文. *
杜勤英 ; .基于VB.NET的Word数据报表的设计.福建电脑.2013,(02),全文. *
潘若瑛 ; 张忠能 ; .多模板多格式论文校验与自动排版系统的研究.微型电脑应用.2013,(03),全文. *

Also Published As

Publication number Publication date
CN109933752A (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN109933752B (zh) 一种导出电子文档的方法和装置
CN107832045B (zh) 跨编程语言接口转换的方法和装置
KR101824222B1 (ko) 동적 컨텐츠 및 스테일 컨텐츠를 포함하는 웹사이트들의 고속 렌더링
CN107092625B (zh) 数据配置方法、数据处理方法及装置
CN108108342B (zh) 结构化文本的生成方法、检索方法及装置
US11758088B2 (en) Method and apparatus for aligning paragraph and video
CN112100550A (zh) 一种页面构建方法和装置
CN109871311B (zh) 一种推荐测试用例的方法和装置
CN113051894A (zh) 一种文本纠错的方法和装置
CN115630618A (zh) 一种pdf文档的智能场景化编辑方法、系统、设备及介质
CN110705271B (zh) 一种提供自然语言处理服务的系统及方法
CN114756228A (zh) 页面处理方法、装置、设备及存储介质
CN112947912A (zh) 生成代码的方法、装置、电子设备和存储介质
CN112947900A (zh) web应用开发方法、装置、服务器及开发终端
CN113342450B (zh) 页面处理的方法、装置、电子设备及计算机可读介质
CN112765522B (zh) 一种数字报刊内容生成方法、系统和计算机可读存储介质
CN115495658A (zh) 一种数据处理方法和装置
CN111310434B (zh) 文本生成方法和装置、电子设备和存储介质
CN114518881A (zh) 一种页面生成方法、系统及存储介质
CN111401005B (zh) 文本转换方法、装置及可读存储介质
CN111913703B (zh) 对象编辑方法、装置、电子设备及可读存储介质
CN110196803B (zh) 一种软件缺陷培训方法和系统
CN111179164A (zh) 一种生成缩略图的方法和装置
CN111279350B (zh) 用于在服务管理应用接口中提供全球化特征的系统和方法
Queirós SeCoGen-A Service Code Generator

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
GR01 Patent grant
GR01 Patent grant