发明内容
本发明的主要目的在于提供一种表格的数据处理方法和装置,以解决现有技术中在表格中设置一个区域内的数据时导致原始数据被覆盖的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种表格的数据处理方法。根据本发明的表格的数据处理方法包括:获取待编辑表格的第一辅助表格;将待填写数据添加到所述第一辅助表格的单元格中;在所述第一辅助表格中查找被填写有所述待填写数据的单元格充满的区域,得到第一区域;在所述待编辑表格中查找与所述第一区域位置相同的第二区域;以及将所述第一区域中的数据填写到所述第二区域中。
进一步地,在所述第一辅助表格中查找被填写有所述待填写数据的单元格充满的区域,得到第一区域包括:获取所述第一区域中的每个单元格的位置信息;以及记录所述第一区域中的每个单元格的位置信息。
进一步地,将待填写数据添加到所述第一辅助表格的单元格中包括:判断所述第一辅助表格的单元格是否足以为所述待填写数据提供填写位置;如果所述第一辅助表格的单元格不足以为所述待填写数据提供填写位置,则获取为所述待填写数据提供填写位置的第二辅助表格;将所述第一辅助表格中的数据复制到所述第二辅助表格中;以及向所述第二辅助表格添加所述待填写数据。
进一步地,在所述第一辅助表格中查找被填写有所述待填写数据的单元格充满的区域,得到第一区域包括:记录第一个单元格的属性为有数据或者没有数据;依次遍历所述第一辅助表格中的数据,直至查找到与所述第一个单元格的属性不同的单元格;以查找到的单元格的坐标为原点,将所述第一辅助表格划分为第一子区域、第二子区域和第三子区域;分别从所述第二子区域和所述第三子区域中划分出包含属性为有数据的单元格,直至所述第一辅助表格中的所有单元格都被遍历;以及将划分出的属性为有数据的单元格作为所述第一区域。
进一步地,以查找到的单元格的坐标为原点,将所述第一辅助表格划分为第一子区域、第二子区域和第三子区域包括:以所述查找到的单元格的坐标为原点建立横坐标和纵坐标;以所述横坐标所在的直线将所述第一辅助表格划分为两部分,其中,在所述横坐标之上的第一部分为所述第一子区域,在所述横坐标之下的第二部分为所述第二子区域和所述第三子区域;以所述纵坐标的负轴所在的直线将所述第二部分划分为所述第二子区域和所述第三子区域。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种表格的数据处理装置。根据本发明的表格的数据处理装置包括:获取单元,用于获取待编辑表格的第一辅助表格;添加单元,用于将待填写数据添加到所述第一辅助表格的单元格中;第一查找单元,用于在所述第一辅助表格中查找被填写有所述待填写数据的单元格充满的区域,得到第一区域;第二查找单元,用于在所述待编辑表格中查找与所述第一区域位置相同的第二区域;以及填写单元,用于将所述第一区域中的数据填写到所述第二区域中。
进一步地,所述第一查找单元包括:第一获取模块,用于获取所述第一区域中的每个单元格的位置信息;以及记录模块,用于记录所述第一区域中的每个单元格的位置信息。
进一步地,所述填写单元包括:判断模块,用于判断所述第一辅助表格的单元格是否足以为所述待填写数据提供填写位置;第二获取模块,用于在所述第一辅助表格的单元格不足以为所述待填写数据提供填写位置时,获取为所述待填写数据提供填写位置的第二辅助表格;复制模块,用于将所述第一辅助表格中的数据复制到所述第二辅助表格中;以及添加模块,用于向所述第二辅助表格添加所述待填写数据。
进一步地,所述第一查找单元包括:记录模块,用于记录第一个单元格的属性为有数据或者没有数据;遍历模块,用于依次遍历所述第一辅助表格中的数据,直至查找到与所述第一个单元格的属性不同的单元格;第一划分模块,用于以查找到的单元格的坐标为原点,将所述第一辅助表格划分为第一子区域、第二子区域和第三子区域;第二划分模块,用于分别从所述第二子区域和所述第三子区域中划分出包含属性为有数据的单元格,直至所述第一辅助表格中的所有单元格都被遍历;以及确定模块,用于将划分出的属性为有数据的单元格作为所述第一区域。
进一步地,所述第一划分模块包括:建立子模块,用于以所述查找到的单元格的坐标为原点建立横坐标和纵坐标;第一划分子模块,用于以所述横坐标所在的直线将所述第一辅助表格划分为两部分,其中,在所述横坐标之上的第一部分为所述第一子区域,在所述横坐标之下的第二部分为所述第二子区域和所述第三子区域;第二划分子模块,用于以所述纵坐标的负轴所在的直线将所述第二部分划分为所述第二子区域和所述第三子区域。
根据发明实施例,利用第一辅助表格进行数据的填写,并从第一辅助表格中划分出被填写有数据的单元格充满的第一区域,然后将第一区域复制到待编辑表格中的相应位置,即批量复制有数据的单元格,而没有数据的单元格不会被复制,从而不仅实现了同时处理多个单元格中的数据,还能避免对不需要增加或者更改数据的单元格进行编辑,不仅能够保证对待编辑表格进行编辑的效率,还解决了现有技术中在表格中设置一个区域内的数据时导致原始数据被覆盖的问题。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种表格的数据处理方法。
图1是根据本发明实施例的表格的数据处理方法的流程图。如图1所示,该表格的数据处理方法包括步骤如下:
步骤S102,获取待编辑表格的第一辅助表格。
在进行数据处理时可以创建第一辅助表格,第一辅助表格与待编辑表格具有映射关系,在对待编辑表格进行数据添加或者修改时,可以在第一辅助表格中进行。
步骤S104,将待填写数据添加到第一辅助表格的单元格中。
将待填写的数据添加到第一辅助表格的单元格中,第一辅助表格和待编辑表格可以采用相同的位置表示方式,可以根据待填写的数据需要添加在待编辑表格中的位置将待填写的数据添加到第一辅助表格中。
步骤S106,在第一辅助表格中查找被填写有待填写数据的单元格充满的区域,得到第一区域。
在将待填写数据添加到的第一辅助表格的单元格中之后,在第一辅助表格中查找填写有数据的单元格所在的区域,即第一区域。在第一区域中可以包括多个连续的单元格或者不连续的单元格,在第一区域中的每个单元格均填写有数据。
步骤S108,在待编辑表格中查找与第一区域位置相同的第二区域。
在待编辑表格中查找第二区域时,可以采用每个单元格的位置信息进行查找。例如,待编辑表格和第一辅助表格均采用二维数组表达每个单元格的位置信息,那么,在查找第二区域时,从待编辑表格中查找与第一区域的二维数组所表示的位置相同的单元格作为该第二区域。
步骤S110,将第一区域中的数据填写到第二区域中。
确定待编辑表格中的第二区域之后,将第一区域中的数据复制到第二区域中,即向待编辑表格中同时复制多个数据,提高了对待编辑表格进行数据编辑的效率。
通过上述实施例,利用第一辅助表格进行数据的填写,并从第一辅助表格中划分出被填写有数据的单元格充满的第一区域,然后将第一区域复制到待编辑表格中的相应位置,即批量复制有数据的单元格,而没有数据的单元格不会被复制,从而不仅实现了同时处理多个单元格中的数据,还能避免对不需要增加或者更改数据的单元格进行编辑,不仅能够保证对待编辑表格进行编辑的效率,还解决了现有技术中在表格中设置一片区域的数据时导致原始数据被覆盖的问题。
具体地,在第一辅助表格中查找被填写有待填写数据的单元格充满的区域,得到第一区域包括:获取第一区域中的每个单元格的位置信息。记录第一区域中的每个单元格的位置信息。
待编辑表格采用二维数组表示每个单元格的位置信息,第一辅助表格可以采用同样的方式表示每个单元格的位置信息,这样可以便于按照第一区域查找第二区域。待编辑表格采用的二维数组如表1所示。
表1待编辑表格的位置信息
A1 |
B1 |
C1 |
D1 |
A2 |
B2 |
C2 |
D2 |
A3 |
B3 |
C3 |
D3 |
A4 |
B4 |
C4 |
D4 |
第一辅助表格可以包括待编辑表格的一部分,例如,第一辅助表格包括表1所示的B2至D2、B3至C3,以及B4至D4,第一区域包括单元格B2、C2、D2、B3、C3和D3,那么记录这些单元格的二维数组信息。需要说明的是,在查找第二区域时只需按照第一区域的位置信息查找第二区域,而无需关注第一区域中的单元格中的数据。
可选地,将待填写数据添加到第一辅助表格的单元格中包括:判断第一辅助表格的单元格是否足以为待填写数据提供填写位置。如果第一辅助表格的单元格不足以为待填写数据提供填写位置,则获取为待填写数据提供填写位置的第二辅助表格。将第一辅助表格中的数据复制到第二辅助表格中。以及向第二辅助表格添加待填写数据。
由于第一辅助表格可以为待编辑表格的一部分,当第一辅助表格所包含的单元格不足以容纳待填写数据时,或者待填写数据所要填写的位置不在第一辅助表格中时,可以将第一辅助表格中的数据复制到包含更多单元格的第二辅助表格中,然后继续向第二辅助表格中填写数据。
在向第二辅助表格中填写数据后,在第二辅助表格中划分出被填写有数据的单元格充满的区域,并将划分出的区域的数据按照区域复制到待编辑表格中。
可选地,在第一辅助表格中查找被填写有待填写数据的单元格充满的区域,得到第一区域包:记录第一个单元格的属性为有数据或者没有数据。依次遍历第一辅助表格中的数据,直至查找到与第一单元格的属性不同的单元格。以查找到的单元格的坐标为原点,将第一辅助表格划分为第一子区域、第二子区域和第三子区域。分别从第二子区域和第三子区域中划分出包含属性为有数据的单元格,直至第一辅助表格中的所有单元格都被遍历。以及将划分出的属性为有数据的单元格作为第一区域。
具体地,以查找到的单元格的坐标为原点,将第一辅助表格划分为第一子区域、第二子区域和第三子区域包括:以查找到的单元格的坐标为原点建立横坐标和纵坐标。以横坐标所在的直线将第一辅助表格划分为两部分,其中,在横坐标之上的第一部分为第一子区域,在横坐标之下的第二部分为第二子区域和第三子区域。以纵坐标的负轴所在的直线将第二部分划分为第二子区域和第三子区域。
以下结合表2对区域的划分进行说明。
表2
表2示出了第一辅助表格划分的区域,表2中的x、y、g、h和j为待填写数据,x、y所在区域、g所在区域和h、j所在区域为第一区域。以下结合表2对划分第一区域进行说明。
从表2的A1单元格开始查找,A1为第一个单元格,其属性为没有数据,可以按照从左至右,从上到下的顺序依次遍历第一辅助表格中的单元格,当遍历到C2时查找到该单元格的属性与第一个单元格A1的属性不同,C2的属性为有数据,则以单元格C2的左上角的点为原点进行划分,其中,A1至E1的一行为第一子区域,A2至A5的一列以及B2至B5的一列为第二子区域,剩下的部分为第三子区域。然后从第二子区域和第三子区域中查找填写有数据的单元格。如表2,在第二子区域中的第一个单元格A2的属性为没有数据,按照从左至右、从上到下的顺序依次遍历第二子区域内的单元格,查找到B4的时候发现该单元格的属性为有数据,则以B4的左上角的点作为原点进行划分,在第二子区域的范围内划分得到了由B4和B5构成的一个区域,则继续从B4和B5构成的区域中划分,此时,第一个单元格为B4,其属性为有数据,则查找到B5的时候对B4和B5构成的区域进行划分,划分为B4,此时可以记录该区域为B4。
对第二子区域遍历完成后,对第三子区域进行遍历。第三子区域中的第一个单元格C2的属性为有数据,在查找到单元格E2的时候其属性与第一个单元格C2的属性不同,则将C2和D2划分为一个区域,此时可以记录该区域为C2+D2。同理,还可以划分出D4+E4的区域。
将区域划分完成后,从待编辑表格中查找到B4,将第一辅助表格中单元格B4的数据复制到待编辑表格的B4中;从待编辑表格中查找C2+D2,将第一辅助表格中单元格C2和D2的数据一起复制到待编辑表格的C2+D2中;绒里,将第一辅助表格中的单元格D4和E4的数据一起复制到待编辑表格的D4+E4中。
通过上述实施例,对待编辑表格进行编辑时,先对辅助表格进行编辑,然后从辅助表格中划分出填写有数据的单元格所组成的区域,然后将划分出的区域中的数据复制到待编辑表格中,按区域复制单元格可以批量操作多个单元格,提高了对待编辑表格进行编辑的效率,由于在复制的过程中仅复制有数据的单元格,而没有数据的单元格不会被复制到待编辑表格中,从而避免了对待编辑表格中不需要修改的单元格的覆盖,解决了现有技术中在表格中设置一片区域的数据时导致原始数据被覆盖的问题,达到了提高编辑表格的效率又不覆盖待编辑表格中不需要被修改的表格。
本发明实施例还提供了一种表格的数据处理装置。需要说明的是,本发明实施例的表格的数据处理装置可以用于执行本发明实施例所提供的表格的数据处理方法,本发明实施例的表格的数据处理方法也可以通过本发明实施例所提供的表格的数据处理装置来执行。
图2是根据本发明实施例的表格的数据处理装置的示意图。如图2所示,该表格的数据处理装置包括:获取单元10、添加单元20、第一查找单元30、第二查找单元40和填写单元50。
获取单元10用于获取待编辑表格的第一辅助表格。
在进行数据处理时可以创建第一辅助表格,第一辅助表格与待编辑表格具有映射关系,在对待编辑表格进行数据添加或者修改时,可以在第一辅助表格中进行。
添加单元20用于将待填写数据添加到第一辅助表格的单元格中。
将待填写的数据添加到第一辅助表格的单元格中,第一辅助表格和待编辑表格可以采用相同的位置表示方式,可以根据待填写的数据需要添加在待编辑表格中的位置将待填写的数据添加到第一辅助表格中。
第一查找单元30用于在第一辅助表格中查找被填写有待填写数据的单元格充满的区域,得到第一区域。
在将待填写数据添加到的第一辅助表格的单元格中之后,在第一辅助表格中查找填写有数据的单元格所在的区域,即第一区域。在第一区域中可以包括多个连续的单元格或者不连续的单元格,在第一区域中的每个单元格均填写有数据。
第二查找单元40用于在待编辑表格中查找与第一区域位置相同的第二区域。
在待编辑表格中查找第二区域时,可以采用每个单元格的位置信息进行查找。例如,待编辑表格和第一辅助表格均采用二维数组表达每个单元格的位置信息,那么,在查找第二区域时,从待编辑表格中查找与第一区域的二维数组所表示的位置相同的单元格作为该第二区域。
填写单元50用于将第一区域中的数据填写到第二区域中。
确定待编辑表格中的第二区域之后,将第一区域中的数据复制到第二区域中,即向待编辑表格中同时复制多个数据,提高了对待编辑表格进行数据编辑的效率。
通过上述实施例,利用第一辅助表格进行数据的填写,并从第一辅助表格中划分出被填写有数据的单元格充满的第一区域,然后将第一区域复制到待编辑表格中的相应位置,即批量复制有数据的单元格,而没有数据的单元格不会被复制,从而不仅实现了同时处理多个单元格中的数据,还能避免对不需要增加或者更改数据的单元格进行编辑,不仅能够保证对待编辑表格进行编辑的效率,还解决了现有技术中在表格中设置一片区域的数据时导致原始数据被覆盖的问题。
具体地,第一查找单元包括:第一获取模块,用于获取第一区域中的每个单元格的位置信息。以及记录模块,用于记录第一区域中的每个单元格的位置信息。
待编辑表格采用二维数组表示每个单元格的位置信息,第一辅助表格可以采用同样的方式表示每个单元格的位置信息,这样可以便于按照第一区域查找第二区域。待编辑表格采用的二维数组如表1所示。
第一辅助表格可以包括待编辑表格的一部分,例如,第一辅助表格包括表1所示的B2至D2、B3至C3,以及B4至D4,第一区域包括单元格B2、C2、D2、B3、C3和D3,那么记录这些单元格的二维数组信息。需要说明的是,在查找第二区域时只需按照第一区域的位置信息查找第二区域,而无需关注第一区域中的单元格中的数据。
可选地,填写单元包括:判断模块,用于判断第一辅助表格的单元格是否足以为待填写数据提供填写位置。第二获取模块,用于在第一辅助表格的单元格不足以为待填写数据提供填写位置时,获取为待填写数据提供填写位置的第二辅助表格。复制模块,用于将第一辅助表格中的数据复制到第二辅助表格中。以及添加模块,用于向第二辅助表格添加待填写数据。
由于第一辅助表格可以为待编辑表格的一部分,当第一辅助表格所包含的单元格不足以容纳待填写数据时,或者待填写数据所要填写的位置不在第一辅助表格中时,可以将第一辅助表格中的数据复制到包含更多单元格的第二辅助表格中,然后继续向第二辅助表格中填写数据。
在向第二辅助表格中填写数据后,在第二辅助表格中划分出被填写有数据的单元格充满的区域,并将划分出的区域的数据按照区域复制到待编辑表格中。
可选地,第一查找单元包括:记录模块,用于记录第一个单元格的属性为有数据或者没有数据。遍历模块,用于依次遍历第一辅助表格中的数据,直至查找到与第一单元格的属性不同的单元格。第一划分模块,用于以查找到的单元格的坐标为原点,将第一辅助表格划分为第一子区域、第二子区域和第三子区域。第二划分模块,用于分别从第二子区域和第三子区域中划分出包含属性为有数据的单元格,直至第一辅助表格中的所有单元格都被遍历。以及确定模块,用于将划分出的属性为有数据的单元格作为第一区域。
具体地,第一划分模块包括:建立子模块,用于以查找到的单元格的坐标为原点建立横坐标和纵坐标。第一划分子模块,用于以横坐标所在的直线将第一辅助表格划分为两部分,其中,在横坐标之上的第一部分为第一子区域,在横坐标之下的第二部分为第二子区域和第三子区域。第二划分子模块,用于以纵坐标的负轴所在的直线将第二部分划分为第二子区域和第三子区域。
以下结合表2对区域的划分进行说明。
表2示出了第一辅助表格划分的区域,表2中的x、y、g、h和j为待填写数据,x、y所在区域、g所在区域和h、j所在区域为第一区域。以下结合表2对划分第一区域进行说明。
从表2的A1单元格开始查找,A1为第一个单元格,其属性为没有数据,可以按照从左至右,从上到下的顺序依次遍历第一辅助表格中的单元格,当遍历到C2时查找到该单元格的属性与第一个单元格A1的属性不同,C2的属性为有数据,则以单元格C2的左上角的点为原点进行划分,其中,A1至E1的一行为第一子区域,A2至A5的一列以及B2至B5的一列为第二子区域,剩下的部分为第三子区域。然后从第二子区域和第三子区域中查找填写有数据的单元格。如表2,在第二子区域中的第一个单元格A2的属性为没有数据,按照从左至右、从上到下的顺序依次遍历第二子区域内的单元格,查找到B4的时候发现该单元格的属性为有数据,则以B4的左上角的点作为原点进行划分,在第二子区域的范围内划分得到了由B4和B5构成的一个区域,则继续从B4和B5构成的区域中划分,此时,第一个单元格为B4,其属性为有数据,则查找到B5的时候对B4和B5构成的区域进行划分,划分为B4,此时可以记录该区域为B4。
对第二子区域遍历完成后,对第三子区域进行遍历。第三子区域中的第一个单元格C2的属性为有数据,在查找到单元格E2的时候其属性与第一个单元格C2的属性不同,则将C2和D2划分为一个区域,此时可以记录该区域为C2+D2。同理,还可以划分出D4+E4的区域。
将区域划分完成后,从待编辑表格中查找到B4,将第一辅助表格中单元格B4的数据复制到待编辑表格的B4中;从待编辑表格中查找C2+D2,将第一辅助表格中单元格C2和D2的数据一起复制到待编辑表格的C2+D2中;绒里,将第一辅助表格中的单元格D4和E4的数据一起复制到待编辑表格的D4+E4中。
通过上述实施例,对待编辑表格进行编辑时,先对辅助表格进行编辑,然后从辅助表格中划分出填写有数据的单元格所组成的区域,然后将划分出的区域中的数据复制到待编辑表格中,按区域复制单元格可以批量操作多个单元格,提高了对待编辑表格进行编辑的效率,由于在复制的过程中仅复制有数据的单元格,而没有数据的单元格不会被复制到待编辑表格中,从而避免了对待编辑表格中不需要修改的单元格的覆盖,解决了现有技术中在表格中设置一片区域的数据时导致原始数据被覆盖的问题,达到了提高编辑表格的效率又不覆盖待编辑表格中不需要被修改的表格。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。