导出excel数据表的方法、系统、设备和存储介质技术方案

技术编号:18783684 阅读:163 留言:0更新日期:2018-08-29 06:55
本发明专利技术涉及一种导出excel数据表的方法、系统、设备和存储介质。导出excel数据表的方法包括将数据转化为map结构;根据所述map结构将所述数据填充到excel的单元格;对所述excel的单元格进行调整,生成excel数据表。有效地解决了树型结构存储的数据导出生成excel数据表只能通过人工编辑excel实现的问题,进而提高了数据转化效率、减少了出错机率。

【技术实现步骤摘要】
导出excel数据表的方法、系统、设备和存储介质
本专利技术涉及计算机网络
,尤其涉及一种导出excel数据表的方法、系统、设备和存储介质。
技术介绍
在数据库数据存储时经常会遇到一张数据表嵌套存储一对多关系的多条记录,也就是树形结构存储。对于将树形结构存储的数据导出excel格式的数据形式,现有方法为通过人工编辑excel来生成需要的数据。进而没有一种方法来处理数据库中在同一表格内的一对多的记录导出,即自动将树形结构存储的数据导出生成嵌套excel数据表。
技术实现思路
有鉴于此,本专利技术实施例提供一种导出excel数据表的方法、系统、设备和存储介质,能够通过将数据转化为map结构,并根据map结构将数据填充到单元格,对填充的单元格进行调整之后,则可获取需要的excel数据表,进而解决了树形结构存储的数据导出excel格式的数据形式时通过人工编辑excel来完成的问题。为实现上述目的,根据本专利技术的一个方面,提供了一种导出excel数据表的方法。本专利技术的方法包括:将数据转化为map结构;根据所述map结构将所述数据填充到excel的单元格;对所述excel的单元格进行调整,生成excel数据表。可选地,将数据转化为map结构包括:获取所述数据的线性表;将所述线性表中的所有根节点放入map中;并且将每个根节点的每一级子节点依次对应地放入map中。可选地,本专利技术的方法还包括:将所述数据的节点ID、父节点ID和节点顺序号添加到线性表中;根据所述线性表调和节点顺序号;将节点的key定义为节点ID和节点顺序号的组合;以及节点放入map中后,将所述节点从线性表中删除。可选地,本专利技术的方法还包括:计算map中的最大节点深度;根据所述最大节点深度和节点总数确定待填充的单元格数量。可选地,根据所述map结构将所述数据填充到excel的单元格包括:遍历map中的节点数据,根据由节点顺序号和节点深度决定的位置,将所述节点的节点ID填充到excel的单元格;如果填充的节点对应的节点内容为空,则将所述节点内容填充到对应的excel的单元格中。可选地,对所述excel的单元格进行调整包括:依次遍历所述excel的单元格,如果非空单元格所在行的节点内容为空,则判断所述非空单元格的下一行中同列的单元格是否为空;若为空,则将所述非空单元格的内容移动到下一行的对应列中。可选地,对所述excel的单元格进行调整还包括:对空行做删除处理。可选地,对所述excel的单元格进行调整还包括:从节点内容列开始,依次对所有单元格进行遍历,将单元格与下方的空格进行合并;将单元格中节点ID替换为对应的数据。根据本专利技术的另一方面,提供了一种导出excel数据表的系统。本专利技术的系统包括:map结构转化模块,用于将数据转化为map结构;单元格填充模块,用于根据所述map结构将所述数据填充到excel的单元格;单元格调整模块,用于对所述excel的单元格进行调整,生成excel数据表。可选地,所述单元格填充模块包括:获取单元,用于获取所述数据的线性表;存放单元,用于将所述线性表中的所有根节点放入map中;以及,将每个根节点的每一级子节点依次对应地放入map中。可选地,获取单元还用于将所述数据的节点ID、父节点ID和节点顺序号添加到线性表中;以及根据所述线性表调和节点顺序号;存放单元还用于将节点的key定义为节点ID和节点顺序号的组合;以及节点放入map中后,将所述节点从线性表中删除。可选地,本专利技术的系统还包括:计算模块,用于计算map中的最大节点深度;以及根据所述最大节点深度和节点总数确定待填充的单元格数量。可选地,单元格填充模块包括:节点ID填充单元,用于遍历map中的节点数据,根据由节点顺序号和节点深度决定的位置,将所述节点的节点ID填充到excel的单元格;节点内容填充单元,用于如果填充的节点对应的节点内容为空,将所述节点内容填充到对应的excel的单元格中。可选地,单元格调整模块包括:判断单元,用于依次遍历所述excel的单元格,如果非空单元格所在行的节点内容为空,则判断所述非空单元格的下一行中同列的单元格是否为空;移动单元,用于在判断单元判断判断所述非空单元格的下一行中同列的单元格是为空时,将所述非空单元格的内容移动到下一行的对应列中。可选地,单元格调整模块还包括删除单元,用于对空行做删除处理。可选地,单元格调整模块还包括:合并单元,用于从节点内容列开始,依次对所有单元格进行遍历,将单元格与下方的空格进行合并;替换单元,用于将单元格中节点ID替换为对应的数据。根据本专利技术的另一方面,提供了一种导出excel数据表的设备。该设备包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述导出excel数据表的方法中的任一项方法。根据本专利技术的另一方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述导出excel数据表的方法中的任一项方法。根据本专利技术的技术方案,通过将数据转化为map结构,map是一种依照键值对的形式进行存储的数据结构,进而可根据转化的map结构将数据填充到excel的单元格,然后对填充的单元格进行调整,即可获取需要的excel数据表。因此,本专利技术实施例可自动将树型结构存储的数据导出生成excel数据表,减少了生成嵌套Excel表格需要的人工处理的步骤。由人工处理变成自动生成,克服了人工编辑效率低、出错率高的问题,进而达到了快速、自动地将树形结构存储的数据导出为excel数据表的技术效果。并且,由于通过map结构将数据导出为excel过程中不涉及实际节点数据内容,可适用于各类树形的嵌套子节点的数据结构导出excel形式,具有较好的移植性。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种导出excel数据表的方法主要步骤的示意图;图2是根据本专利技术实施例的一种导出excel数据表的方法的流程图;图3是根据本专利技术实施例的一种导出excel数据表的系统的主要模块的示意图;图4是根据本专利技术实施例的一种导出excel数据表的设备的示意图;图5是根据本专利技术实施例的一种导出excel数据表的设备的硬件结构的示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种导出excel数据表的方法主要步骤的示意图。如图1所示,本专利技术实施例的导出excel数据表的方法的主要步骤包括:S11:将数据转化为map结构。首先,获取数据的线性表,再者将线性表中的所有根节点放入map中,并且将每个根节点的每一级子节点依次对应地放入map中。将数据的节点ID、父节点ID和节点顺序号添加到本文档来自技高网...

【技术保护点】
1.一种导出excel数据表的方法,其特征在于,包括:将数据转化为map结构;根据所述map结构将所述数据填充到excel的单元格;对所述excel的单元格进行调整,生成excel数据表。

【技术特征摘要】
1.一种导出excel数据表的方法,其特征在于,包括:将数据转化为map结构;根据所述map结构将所述数据填充到excel的单元格;对所述excel的单元格进行调整,生成excel数据表。2.根据权利要求1所述的方法,其特征在于,将数据转化为map结构包括:获取所述数据的线性表;将所述线性表中的所有根节点放入map中;并且将每个根节点的每一级子节点依次对应地放入map中。3.根据权利要求2述的方法,其特征在于,还包括:将所述数据的节点ID、父节点ID和节点顺序号添加到线性表中;根据所述线性表调和节点顺序号;将节点的key定义为节点ID和节点顺序号的组合;以及节点放入map中后,将所述节点从线性表中删除。4.根据权利要求1所述的方法,其特征在于,还包括:计算map中的最大节点深度;根据所述最大节点深度和节点总数确定待填充的单元格数量。5.根据权利要求1所述的方法,其特征在于,根据所述map结构将所述数据填充到excel的单元格包括:遍历map中的节点数据,根据由节点顺序号和节点深度决定的位置,将所述节点的节点ID填充到excel的单元格;如果填充的节点对应的节点内容为空,则将所述节点内容填充到对应的excel的单元格中。6.根据权利要求1所述的方法,其特征在于,对所述excel的单元格进行调整包括:依次遍历所述excel的单元格,如果非空单元格所在行的节点内容为空,则判断所述非空单元格的下一行中同列的单元格是否为空;若为空,则将所述非空单元格的内容移动到下一行的对应列中。7.根据权利要求6所述的方法,其特征在于,对所述excel的单元格进行调整还包括:对空行做删除处理。8.根据权利要求1所述的方法,其特征在于,对所述excel的单元格进行调整还包括:从节点内容列开始,依次对所有单元格进行遍历,将单元格与下方的空格进行合并;将单元格中节点ID替换为对应的数据。9.一种导出excel数据表的系统,其特征在于,包括:map结构转化模块,用于将数据转化为map结构;单元格填充模块,用于根据所述map结构将所述数据填充到excel的单元格;单元格调整模块,用于对所述excel的单元格进行调整,生成excel数据表。10.根据权利要求9所述的系统,其特征在于,所述单元格填充模块包...

【专利技术属性】
技术研发人员:樊宇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1