[发明专利]导出excel数据表的方法、系统、设备和存储介质有效
申请号: | 201710095702.6 | 申请日: | 2017-02-22 |
公开(公告)号: | CN108460055B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 樊宇 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 导出 excel 数据表 方法 系统 设备 存储 介质 | ||
1.一种导出excel数据表的方法,其特征在于,包括:
将数据转化为map结构,包括:获取所述数据的线性表;将所述线性表中的所有根节点放入map中;并且将每个根节点的每一级子节点依次对应地放入map中;其中,map是依照键值对的形式进行存储的数据结构;
根据所述map结构将所述数据填充到excel的单元格;
对所述excel的单元格进行调整,生成excel数据表;
将所述数据的节点ID、父节点ID和节点顺序号添加到线性表中;
根据所述线性表调和节点顺序号,包括:将节点顺序号表示为1,2,3…n,每一个节点对应一个数值;
将节点的key定义为节点ID和节点顺序号的组合;以及
节点放入map中后,将所述节点从线性表中删除。
2.根据权利要求1所述的方法,其特征在于,还包括:
计算map中的最大节点深度;
根据所述最大节点深度和节点总数确定待填充的单元格数量。
3.根据权利要求1所述的方法,其特征在于,根据所述map结构将所述数据填充到excel的单元格包括:
遍历map中的节点数据,根据由节点顺序号和节点深度决定的位置,将所述节点的节点ID填充到excel的单元格;
如果填充的节点对应的节点内容为空,则将所述节点内容填充到对应的excel的单元格中。
4.根据权利要求1所述的方法,其特征在于,对所述excel的单元格进行调整包括:
依次遍历所述excel的单元格,如果非空单元格所在行的节点内容为空,则判断所述非空单元格的下一行中同列的单元格是否为空;
若为空,则将所述非空单元格的内容移动到下一行的对应列中。
5.根据权利要求4所述的方法,其特征在于,对所述excel的单元格进行调整还包括:对空行做删除处理。
6.根据权利要求1所述的方法,其特征在于,对所述excel的单元格进行调整还包括:
从节点内容列开始,依次对所有单元格进行遍历,将单元格与下方的空格进行合并;
将单元格中节点ID替换为对应的数据。
7.一种导出excel数据表的系统,其特征在于,包括:
map结构转化模块,用于将数据转化为map结构,包括:获取所述数据的线性表;将所述线性表中的所有根节点放入map中;并且将每个根节点的每一级子节点依次对应地放入map中;其中,map是依照键值对的形式进行存储的数据结构;
单元格填充模块,用于根据所述map结构将所述数据填充到excel的单元格;
单元格调整模块,用于对所述excel的单元格进行调整,生成excel数据表;
将所述数据的节点ID、父节点ID和节点顺序号添加到线性表中;
根据所述线性表调和节点顺序号,包括:将节点顺序号表示为1,2,3…n,每一个节点对应一个数值;
将节点的key定义为节点ID和节点顺序号的组合;以及
节点放入map中后,将所述节点从线性表中删除。
8.根据权利要求7所述的系统,其特征在于,还包括计算模块,用于计算map中的最大节点深度;以及根据所述最大节点深度和节点总数确定待填充的单元格数量。
9.根据权利要求7所述的系统,其特征在于,单元格填充模块包括:
节点ID填充单元,用于遍历map中的节点数据,根据由节点顺序号和节点深度决定的位置,将所述节点的节点ID填充到excel的单元格;
节点内容填充单元,用于如果填充的节点对应的节点内容为空,将所述节点内容填充到对应的excel的单元格中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710095702.6/1.html,转载请声明来源钻瓜专利网。