一种智能生成EXCEL表的方法及装置与流程

文档序号:17862101发布日期:2019-06-11 22:56阅读:149来源:国知局
一种智能生成EXCEL表的方法及装置与流程
本发明涉及互联网
技术领域
,尤其涉及一种智能生成excel表的方法及装置。
背景技术
:在web开发领域,通常会使用超文本预处理器(hypertextpreprocessor,简称php)等开源的脚本语言进行编写开发,php语言可以比cgi或者perl等更快速地执行动态网页,且执行效率大大高于完全生成html标记的cgi。在使用php进行web开发的过程中,通常需要处理以及整理下载所需的数据使之成为易读且逻辑清晰的excel表。现有的php环境下生成excel的工具通常是使用开源的phpoffice下的phpexcel工具,phpoffice能够支持excel基础的功能,功能支持包括编辑表格内的元数据、添加工作表/行/列,合并单元格,操作公式等,能够较好的兼容msoffice中的excel,但现有技术下phpexcel仍存在问题难以解决:1)phpexcel对于表格内源数据的定位是基于表格所处的坐标,在处理表格内数据时,需要定位每个需要修改的单元格位置,操作繁琐;2)phpexcel仅支持简单的单元格合并,无法根据需求进行智能的合并,需要研发人员进行二次人工处理;3)phpexcel对单元格样式进行特殊化处理的过程繁琐,导出的表单粗糙且实用性低;4)phpexcel在需要进行多个sheet导出的时候,需要单独导出单个sheet,步骤繁琐;5)在导出的数据量极大时,phpexcel会极大占用内存从而出现性能瓶颈,导致导出过程缓慢效率低下;在表单或数据越来越复杂的情况下,自动生成的格式和内容越来越无法满足研发人员的需求。如何对生成的excel表进行智能化改造,使之成为更为简便、易配置且功能强大的统计、汇总工具成为关键问题。技术实现要素:为了解决上述技术问题,本发明提供了一种智能生成excel表的方法及装置。本发明提供的智能生成excel表的方法,包括:获取原信息和表头配置信息,表头配置信息包括各列的名称标识排序信息;将各名称标识的列中的相同信息进行聚类,根据名称标识排序信息设置各名称标识的排序,将聚类后的原信息添加至相应的列,生成excel表。进一步地,上述智能生成excel表的方法还具有以下特点:表头配置信息中还包括各列的合并配置信息;方法还包括:在合并配置信息中包括相同内容单元格合并指令时,将聚类后的原信息添加至相应的列后将同列中具有相同内容的连续单元格进行单元格合并。进一步地,上述智能生成excel表的方法还具有以下特点:表头配置信息中还包括各列的合并配置信息;方法还包括:在合并配置信息中包括指定位置单元格合并指令时,将聚类后的原信息添加至相应的列后在指令中的指定位置的单元格合并。进一步地,上述智能生成excel表的方法还具有以下特点:表头配置信息中还包括各列的回调配置信息;方法还包括:在回调配置信息中包括指定内容单元格的回调函数时,将聚类后的原信息添加至相应的列后根据回调配置信息在单元格的内容为指定内容时调用相应的回调函数。进一步地,上述智能生成excel表的方法还具有以下特点:表头配置信息中还包括各列的样式配置信息;方法还包括:在样式配置信息中包括整列单元格的样式配置信息时,将聚类后的原信息添加至相应的列后按照样式配置信息将相应列的单元格进行样式配置。本发明提供的智能生成excel表的装置,包括:获取模块,设置为获取原信息和表头配置信息,表头配置信息包括各列的名称标识排序信息;聚类模块,设置为将各名称标识的列中的相同信息进行聚类;排序模块,设置为根据名称标识排序信息设置各名称标识的排序;生成模块,设置为将聚类后的原信息添加至相应的列中,生成excel表。进一步地,上述智能生成excel表的装置还具有以下特点:表头配置信息中还包括各列的合并配置信息;生成模块还包括解析单元和处理单元;解析单元,设置为解析表头配置信息的信息;处理单元,设置为在解析单元解析出表头配置信息中还包括各列的合并配置信息并且合并配置信息中包括相同内容单元格合并指令时,将聚类后的原信息添加至相应的列后将同列中具有相同内容的连续单元格进行单元格合并。进一步地,上述智能生成excel表的装置还具有以下特点:表头配置信息中还包括各列的合并配置信息;生成模块还包括解析单元和处理单元;解析单元,设置为解析表头配置信息的信息;处理单元,设置为在解析单元解析出表头配置信息中还包括合并配置信息并且合并配置信息中包括指定位置单元格合并指令时,将聚类后的原信息添加至相应的列后在指令中的指定位置的单元格合并。进一步地,上述智能生成excel表的装置还具有以下特点:表头配置信息中还包括各列的回调配置信息;生成模块还包括解析单元和处理单元;解析单元,设置为解析表头配置信息的信息;处理单元,设置为在解析单元解析出表头配置信息中还包括回调配置信息并且回调配置信息中包括指定内容单元格的回调函数时,将聚类后的原信息添加至相应的列后根据回调配置信息在单元格的内容为指定内容时调用相应的回调函数。进一步地,上述智能生成excel表的装置还具有以下特点:表头配置信息中还包括各列的样式配置信息;生成模块还包括解析单元和处理单元;解析单元,设置为解析表头配置信息的信息;处理单元,设置为在解析单元解析出表头配置信息中还包括各列的样式配置信息并且样式配置信息中包括整列单元格的样式配置信息时,将聚类后的原信息添加至相应的列后按照样式配置信息将相应列的单元格进行样式配置。本发明可以提供智能化且简便快速的excel表处理导出方法,快速有效对数据进行聚合和整理,使查看者获得更好的感观体验。附图说明构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是实施例中智能生成excel表的方法的流程图。图2是实施例中智能生成excel表的方法的装置图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。图1是实施例中智能生成excel表的方法的流程图,此方法包括:步骤1,获取原信息和表头配置信息,表头配置信息包括各列的名称标识排序信息;步骤2,将各名称标识的列中的相同信息进行聚类,根据名称标识排序信息设置各名称标识的排序,将聚类后的原信息添加至相应的列,生成excel表。举例:原信息如表1所示:大区省运营商数据东北电信-吉林电信x1东北电信-辽宁电信x2东北电信-黑龙江电信x3华东电信-江西电信x4华南联通-海南联通y1华东电信-山东电信x5华中电信-河南电信x6华南联通-广东联通y2华中电信-湖北电信x7表头配置信息中的各列的名称标识排序信息为:运营商、大区、省、数据。经过上述方法后,生成的excel表为表2:在一种实施方式中,表头配置信息中还包括各列的合并配置信息,在合并配置信息中包括相同内容单元格合并指令时,将聚类后的原信息添加至相应的列后将同列中具有相同内容的连续单元格进行单元格合并。例如,合并配置信息中包括整列同内容合并指令时,对表1进行处理后得到表3:进行合并时,优先合并已写入数据的单元格,再对未写入数据的单元格按照位置先后顺序合并。经过此处理后,自动生成的表单呈现多级子树样式,在自动生成聚类后的表格的同时,相比表2使查看者获得更好的感观体验。表头配置信息中的各列的名称标识排序为:大区、运营商、省、数据时,经过上述处理的结果为表4:在一种实施方式中,表头配置信息中还包括各列的合并配置信息,在合并配置信息中包括指定位置单元格合并指令时,将聚类后的原信息添加至相应的列后在指令中的指定位置的单元格合并。例如,合并配置信息中包括对标识为运营商的列的所有单元格合并,对标识为大区的第一至第三个单元格合并,第四至第五个单元格合并、第六至第七个单元格合并。对表1进行处理后得到表3。在另一种实施方式中,本方法中,表头配置信息中还包括各列的回调配置信息,在回调配置信息中包括指定内容单元格的回调函数时,将聚类后的原信息添加至相应的列后根据回调配置信息在单元格的内容为指定内容时调用相应的回调函数。此回调函数可以是合并单元格的函数。通过调用回调函数的方式完成单元格的合并。本方法中,表头配置信息中还包括各列的样式配置信息,在样式配置信息中包括整列单元格的样式配置信息时,将聚类后的原信息添加至相应的列后按照样式配置信息将相应列的单元格进行样式配置。其中,样式配置中包括:单元格宽度、字体颜色、字体对齐方式、单元格颜色填充等单元格设置样式。本方法中,还包括生成的excel表为多个时,可以多次使用增加表单(addsheet)功能来创建多个工作区的导出,可以一次性导出所有表单。本方法中,获取excel表的数据量,在此数据量大于预设阈值时,导出非excel格式的数据,此非excel格式可以是csv格式。图2是智能生成excel表的装置的结构图,此装置包括:获取模块设置为获取原信息和表头配置信息,表头配置信息包括各列的名称标识排序信息;聚类模块设置为将各名称标识的列中的相同信息进行聚类;排序模块设置为根据名称标识排序信息设置各名称标识的排序;生成模块设置为将聚类后的原信息添加至相应的列中,生成excel表。其中,生成模块还包括解析单元和处理单元。解析单元设置为解析表头配置信息的信息。表头配置信息中还包括各列的合并配置信息;处理单元设置为在解析单元解析出表头配置信息中还包括各列的合并配置信息并且合并配置信息中包括相同内容单元格合并指令时,将聚类后的原信息添加至相应的列后将同列中具有相同内容的连续单元格进行单元格合并。表头配置信息中还包括各列的合并配置信息;处理单元设置为在解析单元解析出表头配置信息中还包括合并配置信息并且合并配置信息中包括指定位置单元格合并指令时,将聚类后的原信息添加至相应的列后在指令中的指定位置的单元格合并。表头配置信息中还包括各列的回调配置信息;处理单元设置为在解析单元解析出表头配置信息中还包括回调配置信息并且回调配置信息中包括指定内容单元格的回调函数时,将聚类后的原信息添加至相应的列后根据回调配置信息在单元格的内容为指定内容时调用相应的回调函数。表头配置信息中还包括各列的样式配置信息;处理单元设置为在解析单元解析出表头配置信息中还包括各列的样式配置信息并且样式配置信息中包括整列单元格的样式配置信息时,将聚类后的原信息添加至相应的列后按照样式配置信息将相应列的单元格进行样式配置。本发明通过php语言编写,开发代码量低,能够实现对phpexcel的智能改造,在使用phpexcel的过程中能够随时将组件加入运行,不增添其他部署操作,最大限度方便研发人员的使用。本发明可以提供智能化且简便快速的excel表处理导出方法,快速有效对数据进行聚合和整理,使查看者获得更好的感观体验。上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1