[发明专利]一种导出电子文档的方法和装置有效
申请号: | 201711349886.0 | 申请日: | 2017-12-15 |
公开(公告)号: | CN109933752B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 刘杨;徐淼 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F40/186;G06F40/197 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;陆锦华 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 导出 电子 文档 方法 装置 | ||
本发明公开了一种导出电子文档的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据接收的电子文档模板生成包括占位符和自定义标签的xml文件;解析所述占位符和自定义标签,以得到xml文件模板;将所述xml文件模板转换为预设格式的模板文件,并将业务数据载入所述模板文件,以导出电子文档。该实施方式避免了对xml文件的二次开发,实现自动化导出电子文档,可维护性高,降低人员工作量,省时省力,提高研发效率,支持复杂类型的电子文档动态数据导出,支持可视化操作并能进行版本控制,还可实现页面级别的版本存储。
技术领域
本发明涉及计算机技术领域,尤其涉及一种导出电子文档的方法和装置。
背景技术
在传统的开发过程中,开发人员读写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文件通过合法性校验。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711349886.0/2.html,转载请声明来源钻瓜专利网。