CN109885819B - 数据表格动态调整方法、系统、设备及存储介质 - Google Patents
数据表格动态调整方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN109885819B CN109885819B CN201910121340.2A CN201910121340A CN109885819B CN 109885819 B CN109885819 B CN 109885819B CN 201910121340 A CN201910121340 A CN 201910121340A CN 109885819 B CN109885819 B CN 109885819B
- Authority
- CN
- China
- Prior art keywords
- header
- dragged
- adjacent
- data
- head
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种数据表格动态调整方法、系统、设备及存储介质,该方法包括:检测到用户对表格中表头的拖拽操作;确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置;检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头;根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。采用本发明,可以实现直接拖拽表头即可调整表头所属的数据的位置,提高数据表格调整效率,方便用户操作。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据表格动态调整方法、系统、设备及存储介质。
背景技术
电子数据表格作为一种常用的数据分析工具,极大地遍历了用户对数据的管理和查看,大大提高了数据分析效率。然而,现有的数据表格仍存在一些缺陷。现有技术中出现了一些成熟的表格组件,但是其对外提供的接口不支持扩展,以至于无法满足大数据表格的复杂需求和一些自定义需求。例如,用户在需要调整数据表格中的数据位置时,需要将待调整的数据全部选中,然后将选中的数据整体移动到需要的位置。这样带来的问题在于,用户可能一次性选择的数据量很大,不仅在选择和移动过程中操作十分不便,而且很容易造成漏选或错选。对于数据体量特别大的大数据表格来说,有时候用户在选择需要调整的数据时,由于数据量过大无法直接全部一次性选中,需要分多次执行操作,也给用户带来了很多不便。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种数据表格动态调整方法、系统、设备及存储介质,实现直接拖拽表头即可调整表头所属的数据的位置,提高数据表格调整效率,方便用户操作。
本发明实施例提供一种数据表格动态调整方法,所述方法包括如下步骤:
检测到用户对表格中表头的拖拽操作;
确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头;
根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
可选地,所述检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头之后,还包括如下步骤:
判断所述被拖拽表头是否存在上一级表头;
如果存在上一级表头,则判断所述相邻表头是否属于该上一级表头;
如果所述相邻表头和所述被拖拽表头同属一个上一级表头,则继续根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置。
可选地,如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,则不执行所述表头拖拽操作。
可选地,如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,则将所述被拖拽表头的上一级表头拆分为非移动表头和移动表头,所述非移动表头对应于所述上一级表头下属的不属于所述被拖拽表头的其他表头,所述移动表头对应于所述被拖拽表头,且所述移动表头和所述被拖拽表头一起插入确定的插入位置。
可选地,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
判断所述被拖拽表头是否存在上级表头;
如果存在,则将被拖拽表头的上级表头与被拖拽表头对应的部分插入确定的插入位置。
可选地,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
确定所述插入位置的前方和后方与所述被拖拽表头同级的前方表头和后方表头,并判断前方表头和后方表头是否属于同一上一级表头;
如果是,则将前方表头和后方表头的上一级表头拆分为分别对应于前方表头和后方表头的两部分。
可选地,所述确定被拖拽表头的插入位置为所述相邻表头的前方或后方,包括如下步骤:
判断所述拖拽目标位置与相邻表头所属区域的位置关系;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离大于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的前方;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离小于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的后方。
可选地,所述被拖拽表头为行表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总行数m;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的行序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的行序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的行序号,重新建立所述表格中数据与行序号的映射关系,并重新生成表格;
所述被拖拽表头为列表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总列数n;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的列序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的列序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的列序号,重新建立所述表格中数据与列序号的映射关系,并重新生成表格。
可选地,所述方法还包括如下步骤:
依次遍历表格中各个单元格中的内容,判断当前单元格的内容与前一个单元格的内容是否一致;
如果一致,则合并内容一致且相邻的单元格。
本发明实施例还提供一种数据表格动态调整系统,用于实现所述的数据表格动态调整方法,所述系统包括:
操作检测模块,用于检测到用户对表格中表头的拖拽操作;
操作确定模块,用于确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
位置确定模块,用于检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头,以及根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
数据插入模块,用于将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
本发明实施例还提供一种数据表格动态调整设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的数据表格动态调整方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现所述的数据表格动态调整方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的数据表格动态调整方法、系统、设备及存储介质具有下列优点:
本发明根据用户的表头拖拽操作,自动关联该表头相关的数据,并将表头下属的数据与表头同时移动至拖拽目标位置,从而实现了直接拖拽表头即可调整表头所属的数据的位置,提高数据表格调整效率,方便用户操作;在调整表头和下属数据的位置时,同时考虑表头的上级表头,保持表头和下属数据移动后,表格的准确性,提高表格调整的准确率和自动化;对于用户来说,只需要选择自己想要调整的数据的那一级表头即可,选择和拖拽操作十分方便,提升用户使用体验,可以更方便地应用于大数据可视化分析系统中,提高数据分析的质量和效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的数据表格动态调整方法的流程图;
图2~7是本发明一实施例的数据表格动态调整的实施例的示意图;
图8是本发明一实施例的数据表格动态调整系统的结构示意图;
图9是本发明一实施例的数据表格动态调整设备的结构示意图;
图10是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
如图1所示,为了解决现有技术中的技术问题,本发明实施例提供一种数据表格动态调整方法,所述数据表格动态调整方法包括如下步骤:
S100:检测到用户对表格中表头的拖拽操作;
S200:确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
S300:检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头;
S400:根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
S500:将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
因此,本发明的数据表格动态调整方法根据用户的表头拖拽操作,自动关联该表头相关的数据,并将表头下属的数据与表头同时移动至拖拽目标位置,从而实现了直接拖拽表头即可调整表头所属的数据的位置,提高了数据表格调整效率。
如图2~8,为一种数据表格动态调整的示例。如图2所示,该示例的表格中,有A1~A8列和B1~B8行。该示例中,以列表头的移动为例,可以理解的是,行表头的移动原理和方式基本一致。
在该实施例中,行表头有:0011、0025、0032、0042、0063,且所有的行表头是属于同一级别的,而列表头分为三级,最上级的表头即第一级表头有:用户ID、基本信息、联系方式和注册时间,第二级表头有:姓名、性别、手机号和地址,其中姓名和性别从属于基本信息表头,手机号和地址从属于联系方式表头,注册时间没有下级表头,第三级表头有:省、市和区,其均从属于地址表头,而姓名、性别和手机号表头没有下级表头。
在该实施例中,所述检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头之后,还包括如下步骤:
判断所述被拖拽表头是否存在上一级表头;
如果存在上一级表头,则判断所述相邻表头是否属于该上一级表头;
如果所述相邻表头和所述被拖拽表头同属一个上一级表头,则继续根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置。
在该实施例中,所述确定被拖拽表头的插入位置为所述相邻表头的前方或后方,包括如下步骤:
判断所述拖拽目标位置与相邻表头所属区域的位置关系;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离大于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的前方;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离小于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的后方。
如图2所示,被拖拽的表头为区表头,区表头为三级表头,其拖拽目标位置为图2中箭头的末尾位置。与拖拽目标位置距离最近且同级的表头为省表头,且拖拽目标位置与省表头的前侧边更靠近,因此,需要将区表头所下属的所有数据均移动至省表头所下属的所有数据的前方。移动后的表格如图3所示,图3中阴影部分即为被移动的数据。
如图4所示,被拖拽的表头为地址表头,地址表头为二级表头,其拖拽目标位置为图4中箭头的末尾位置。与拖拽目标位置距离最近且同级的表头为手机号表头,且拖拽目标位置与手机号表头的前侧边更靠近,因此,需要将地址表头下属的所有数据均移动至手机号表头所下属的所有数据的前方。移动后的表格如图5所示。移动过程中,被移动的数据包括被拖拽表头、被拖拽表头的下级表头以及被拖拽表头下属的所有数据,即图5中阴影部分的数据。
如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,在一种实施方式中,可以选择不执行所述表头拖拽操作,并且可以选择通知用户移动位置有误,无法执行该操作。
在另一实施方式中,如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,则可以将所述被拖拽表头的上一级表头拆分为非移动表头和移动表头,所述非移动表头对应于所述上一级表头下属的不属于所述被拖拽表头的其他表头,所述移动表头对应于所述被拖拽表头,且所述移动表头和所述被拖拽表头一起插入确定的插入位置。
即如图6和图7所示,被拖拽的表头为地址表头,其为二级表头。距离拖拽目标位置最近且为二级表头的为姓名表头,拖拽目标位置距离姓名表头的后侧边更近,因此,需要将地址表头和下属的数据移动至姓名表头和所属数据的后方。在移动过程中,由于地址表头属于联系方式表头,则需要将联系方式表头拆分为两部分,一部分随地址表头一起向前移动,一部分随手机号表头一起不移动。
在该实施例中,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
判断所述被拖拽表头是否存在上级表头;
如果存在,则将被拖拽表头的上级表头与被拖拽表头对应的部分插入确定的插入位置。
因此,在图6中地址表头移动时,联系方式表头与地址表头对应的部分也随着地址表头一起移动,从而得到图7中的表格。
在该实施例中,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
确定所述插入位置的前方和后方与所述被拖拽表头同级的前方表头和后方表头,并判断前方表头和后方表头是否属于同一上一级表头;
如果是,则将前方表头和后方表头的上一级表头拆分为分别对应于前方表头和后方表头的两部分。
即如图6所示,将地址表头插入到姓名表头和性别表头之间。基本信息表头被拆分为两部分,一部分与姓名表头相对应,一部分与性别表头相对应。
在该实施例中,所述被拖拽表头为行表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总行数m;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的行序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的行序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的行序号,重新建立所述表格中数据与行序号的映射关系,并重新生成表格;
所述被拖拽表头为列表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总列数n;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的列序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的列序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的列序号,重新建立所述表格中数据与列序号的映射关系,并重新生成表格。
因此,通过采用本发明,在用户拖拽表头过程中,可以实现被拖拽表头和其他表头以及各下级表头下的数据联动。
如图6所示,要把地址表头插入到姓名表头的后方。地址表头一共占据了A5~A7三列,将此三列的所有数据移动至A3~A5列,即A5列的数据移动至A3列,将姓名表头后一个表头即性别表头的所有数据均后移三列,并且删除原A5~A7列的地址表头的数据。
在该实施例中,所述数据表格动态调整方法还包括如下步骤:
依次遍历表格中各个单元格中的内容,判断当前单元格的内容与前一个单元格的内容是否一致;
如果一致,则合并内容一致且相邻的单元格。
因此,本发明还可以实现单元格自动合并的功能。现有技术中的单元格合并往往需要用户手动筛选和手动合并,对于大数据表格来说,工作量很大。而本发明实现了单元格自动合并,更方便用户查看和管理单元格数据。
本发明实施例还提供一种数据表格动态调整系统,用于实现所述的数据表格动态调整方法,所述系统包括:
操作检测模块M100,用于检测到用户对表格中表头的拖拽操作;
操作确定模块M200,用于确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
位置确定模块M300,用于检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头,以及根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
数据插入模块M400,用于将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
因此,本发明的数据表格动态调整系统根据用户的表头拖拽操作,自动关联该表头相关的数据,并将表头下属的数据与表头同时移动至拖拽目标位置,从而实现了直接拖拽表头即可调整表头所属的数据的位置,提高了数据表格调整效率。
本发明实施例还提供一种数据表格动态调整设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的数据表格动态调整方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的数据表格动态调整方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本发明所提供的数据表格动态调整方法、系统、设备及存储介质具有下列优点:
本发明根据用户的表头拖拽操作,自动关联该表头相关的数据,并将表头下属的数据与表头同时移动至拖拽目标位置,从而实现了直接拖拽表头即可调整表头所属的数据的位置,提高数据表格调整效率,方便用户操作;在调整表头和下属数据的位置时,同时考虑表头的上级表头,保持表头和下属数据移动后,表格的准确性,提高表格调整的准确率和自动化;对于用户来说,只需要选择自己想要调整的数据的那一级表头即可,选择和拖拽操作十分方便,提升用户使用体验,可以更方便地应用于大数据可视化分析系统中,提高数据分析的质量和效率。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (12)
1.一种数据表格动态调整方法,其特征在于,包括如下步骤:
检测到用户对表格中表头的拖拽操作;
确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头;
根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
2.根据权利要求1所述的数据表格动态调整方法,其特征在于,所述检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头之后,还包括如下步骤:
判断所述被拖拽表头是否存在上一级表头;
如果存在上一级表头,则判断所述相邻表头是否属于该上一级表头;
如果所述相邻表头和所述被拖拽表头同属一个上一级表头,则继续根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置。
3.根据权利要求2所述的数据表格动态调整方法,其特征在于,如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,则不执行所述表头拖拽操作。
4.根据权利要求2所述的数据表格动态调整方法,其特征在于,如果所述被拖拽表头存在上一级表头,且所述相邻表头不属于所述被拖拽表头的上一级表头,则将所述被拖拽表头的上一级表头拆分为非移动表头和移动表头,所述非移动表头对应于所述上一级表头下属的不属于所述被拖拽表头的其他表头,所述移动表头对应于所述被拖拽表头,且所述移动表头和所述被拖拽表头一起插入确定的插入位置。
5.根据权利要求2所述的数据表格动态调整方法,其特征在于,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
判断所述被拖拽表头是否存在上级表头;
如果存在,则将被拖拽表头的上级表头与被拖拽表头对应的部分插入确定的插入位置。
6.根据权利要求5所述的数据表格动态调整方法,其特征在于,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置之后,还包括如下步骤:
确定所述插入位置的前方和后方与所述被拖拽表头同级的前方表头和后方表头,并判断前方表头和后方表头是否属于同一上一级表头;
如果是,则将前方表头和后方表头的上一级表头拆分为分别对应于前方表头和后方表头的两部分。
7.根据权利要求1所述的数据表格动态调整方法,其特征在于,所述确定被拖拽表头的插入位置为所述相邻表头的前方或后方,包括如下步骤:
判断所述拖拽目标位置与相邻表头所属区域的位置关系;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离大于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的前方;
如果所述拖拽目标位置与所述相邻表头所属区域的前侧边缘的距离小于所述拖拽目标位置与所述相邻表头所属区域的后侧边缘的距离,则确定被拖拽表头的插入位置为所述相邻表头的后方。
8.根据权利要求1所述的数据表格动态调整方法,其特征在于,所述被拖拽表头为行表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总行数m;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的行序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的行序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的行序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的行序号,重新建立所述表格中数据与行序号的映射关系,并重新生成表格;
所述被拖拽表头为列表头时,所述将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置,包括如下步骤:
统计所述被拖拽表头下属的数据的总列数n;
如果所述确定的插入位置为所述相邻表头的前方,则将所述相邻表头和所述相邻表头下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的前方的列序号,如果所述确定的插入位置为所述相邻表头的后方,则将所述相邻表头的后一个表头以及下属的数据的列序号均后移m行,并计算被拖拽表头下属的数据在插入所述相邻表头的后方的列序号;
将被拖拽表头在拖拽前的原位置的被拖拽表头和下属的数据删除;
根据各个表头和下属的数据的列序号,重新建立所述表格中数据与列序号的映射关系,并重新生成表格。
9.根据权利要求1至8中任一项所述的数据表格动态调整方法,其特征在于,还包括如下步骤:
依次遍历表格中各个单元格中的内容,判断当前单元格的内容与前一个单元格的内容是否一致;
如果一致,则合并内容一致且相邻的单元格。
10.一种数据表格动态调整系统,其特征在于,用于实现权利要求1至9中任一项所述的数据表格动态调整方法,所述系统包括:
操作检测模块,用于检测到用户对表格中表头的拖拽操作;
操作确定模块,用于确定被拖拽表头、所述被拖拽表头的级别、所述被拖拽表头的属性和拖拽目标位置,所述被拖拽表头的属性包括所述被拖拽表头为行表头或列表头;
位置确定模块,用于检测与所述拖拽目标位置距离最近的、且与所述被拖拽表头的级别和属性均一致的相邻表头,以及根据所述拖拽目标位置与所述相邻表头的位置关系,确定被拖拽表头的插入位置为所述相邻表头的前方或后方;
数据插入模块,用于将所述被拖拽表头和被拖拽表头下属的数据插入确定的插入位置。
11.一种数据表格动态调整设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9中任一项所述的数据表格动态调整方法的步骤。
12.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至9中任一项所述的数据表格动态调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910121340.2A CN109885819B (zh) | 2019-02-19 | 2019-02-19 | 数据表格动态调整方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910121340.2A CN109885819B (zh) | 2019-02-19 | 2019-02-19 | 数据表格动态调整方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109885819A CN109885819A (zh) | 2019-06-14 |
CN109885819B true CN109885819B (zh) | 2022-12-20 |
Family
ID=66928377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910121340.2A Active CN109885819B (zh) | 2019-02-19 | 2019-02-19 | 数据表格动态调整方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885819B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427601B (zh) * | 2019-07-16 | 2021-05-18 | 广州视源电子科技股份有限公司 | 表格处理方法、装置、智能交互平板及存储介质 |
CN110609993A (zh) * | 2019-09-18 | 2019-12-24 | 北京字节跳动网络技术有限公司 | 表格调整方法及设备 |
CN113919327A (zh) * | 2020-07-07 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 文本纠错方法、设备以及计算机可读介质 |
CN115809646A (zh) * | 2020-07-27 | 2023-03-17 | 腾讯科技(深圳)有限公司 | 表格数据控制方法及装置 |
CN112799565B (zh) * | 2021-04-09 | 2021-07-16 | 统信软件技术有限公司 | 一种内容列表展示方法及计算设备 |
CN113485624A (zh) * | 2021-05-07 | 2021-10-08 | 北京易成时代科技有限公司 | 基于手势拖拽的iOS看板视图交互方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365641A (zh) * | 2012-03-31 | 2013-10-23 | 国际商业机器公司 | 一种gui开发工具的设计方法和系统 |
CN104461309A (zh) * | 2014-12-26 | 2015-03-25 | 北京奇虎科技有限公司 | 基于拖拽操作跨页面调整对象位置的方法和装置 |
CN107704244A (zh) * | 2017-10-30 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种实现bookstrap table表格列拖拽的方法 |
CN108009145A (zh) * | 2017-12-18 | 2018-05-08 | 深圳市康必达控制技术有限公司 | 报表生成方法及装置 |
CN108415706A (zh) * | 2018-03-14 | 2018-08-17 | 上海携程商务有限公司 | 可视化网页生成的方法、系统、设备及存储介质 |
CN108920536A (zh) * | 2018-06-11 | 2018-11-30 | 玖富金科控股集团有限责任公司 | 一种数据呈现方法、电子设备和可读存储介质 |
-
2019
- 2019-02-19 CN CN201910121340.2A patent/CN109885819B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365641A (zh) * | 2012-03-31 | 2013-10-23 | 国际商业机器公司 | 一种gui开发工具的设计方法和系统 |
CN104461309A (zh) * | 2014-12-26 | 2015-03-25 | 北京奇虎科技有限公司 | 基于拖拽操作跨页面调整对象位置的方法和装置 |
WO2016101755A1 (zh) * | 2014-12-26 | 2016-06-30 | 北京奇虎科技有限公司 | 基于拖拽操作跨页面调整对象位置的方法和装置 |
CN107704244A (zh) * | 2017-10-30 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种实现bookstrap table表格列拖拽的方法 |
CN108009145A (zh) * | 2017-12-18 | 2018-05-08 | 深圳市康必达控制技术有限公司 | 报表生成方法及装置 |
CN108415706A (zh) * | 2018-03-14 | 2018-08-17 | 上海携程商务有限公司 | 可视化网页生成的方法、系统、设备及存储介质 |
CN108920536A (zh) * | 2018-06-11 | 2018-11-30 | 玖富金科控股集团有限责任公司 | 一种数据呈现方法、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109885819A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885819B (zh) | 数据表格动态调整方法、系统、设备及存储介质 | |
CN110457277B (zh) | 业务处理性能分析方法、装置、设备及存储介质 | |
US10409892B2 (en) | Formatting data by example | |
CN109992589A (zh) | 基于可视化页面生成sql语句的方法、装置、服务器及介质 | |
US9916286B2 (en) | Reformatting multiple paragraphs of text using the formatting of a sample object by creating multiple candidate combinations and selecting a closest match | |
CN110825767A (zh) | 数据查询方法、平台、设备及存储介质 | |
US20110271172A1 (en) | Temporary formatting and charting of selected data | |
KR20100115818A (ko) | 스프레드시트 셀들을 위한 동적 수식들 | |
CN109656815B (zh) | 有配置文件的测试语句编写方法、装置、介质及电子设备 | |
CN110990445B (zh) | 一种数据处理方法、装置、设备和介质 | |
CN110990411B (zh) | 数据结构的生成方法及装置、调用方法及装置 | |
CN115374759B (zh) | 在线文档编辑区域定位方法、装置、服务器及存储介质 | |
CN114416667A (zh) | 快速分享网盘文件的方法、装置、网盘及存储介质 | |
CN110413413A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
CN110955640A (zh) | 跨系统数据文件的处理方法、装置、服务器和存储介质 | |
US10169054B2 (en) | Undo and redo of content specific operations | |
CN113807062A (zh) | 一种组合密度图在线绘制方法、装置和电子设备 | |
CN112039975A (zh) | 一种报文字段的处理方法、装置、设备及存储介质 | |
CN110175128B (zh) | 一种相似代码案例获取方法、装置、设备和存储介质 | |
CN109710952B (zh) | 基于人工智能的翻译历史检索方法、装置、设备和介质 | |
CN110874364A (zh) | 一种查询语句处理方法、装置、设备及存储介质 | |
US20090300522A1 (en) | Individual information element access for unopened objects | |
CN114356322A (zh) | 设备组态的通信映射方法、装置、设备及存储介质 | |
CN115328891A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN114201729A (zh) | 一种矩阵运算方式的选择方法、装置、设备以及存储介质 |
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 |