本发明涉及数据处理,尤其是涉及一种表格动态合并方法及系统。
背景技术:
1、表格是指按所需的内容项目画成格子,并分别填写文字或数字的书面材料,以便于统计查看。表格由表行、表头以及表元构成,其中,表行是指表格的第一列,指明表格每一行的内容和意义,表头是指表格的第一行,指明表格每一列的内容和意义,表元是指表格中所有填写具体数据的单元格。
2、目前,在用户需要合并表元中的数据时,通常采用人工手动合并的方式,从而使得表元中的数据表达的更加清楚、简洁;例如excel表格中支持手动选中需要合并的单元格,并点击“合并”即可实现单元格的合并,然而,采用人工合并的方式,需要由人工逐一阅读表格中的数据,并筛选出相同内容单元格进行合并,较为浪费人力。
技术实现思路
1、为了便于对表格中相同的单元格进行自动合并,本技术提供了表格动态合并方法及系统。
2、第一方面,本技术提供的一种表格动态合并方法,采用如下的技术方案:
3、一种表格动态合并方法,包括:
4、基于预设优先级,对单元格筛选得到单行合并数组或单列合并数组中的一种,作为第一合并数组;
5、根据表格中单元格的内容,将符合条件的第一合并数组替换为区域合并数组;
6、基于第一合并数组以及区域合并数组,对单元格筛选得到单行合并数组或单列合并数组中的另一种,作为第二合并数组;
7、实时将第一合并数组、第二合并数组以及区域合并数组进行整合,生成合并参数;
8、根据合并参数,对表格中对应的待合并单元格进行合并。
9、通过采用上述技术方案,基于预设的优先级优先对行或列进行合并,以得到第一合并数组,再根据单元格内容将符合条件的第一合并数组替换为区域合并数组,使得表格中的单元格合并更加清晰,最后再对行或列中的另一种进行合并,以得到第二合并数组,从而根据第一合并数组、第二合并数组以及区域合并数组,即能够得到需要合并的所有单元格的合并参数,根据合并参数,对表格同时进行行合并、列合并以及区域合并,从而实现了对表格中对应的单元格进行自动合并的效果。
10、可选的,所述合并参数包括起始行坐标、起始列坐标、合并行数以及合并列数。
11、通过采用上述技术方案,利用起始行坐标、起始列坐标、合并行数以及合并列数便于快速定位到待合并单元格。
12、可选的,若优先级为列优先,所述基于预设优先级,对单元格筛选得到单行合并数组或单列合并数组中的一种,作为第一合并数组,具体包括:
13、逐一判断表格每一列中是否存在内容一致的相邻单元格;
14、若是,记录每列内容一致的相邻单元格的行列坐标,并根据行列坐标生成单列合并数组;
15、根据所有列的单列合并数组,得到第一合并数组。
16、通过采用上述技术方案,若优先级为列优先,则按照列方向,先对列方向内容一致的相邻单元格进行筛选,以得到单列合并数组,此时第一合并数组即为单列合并数组,实现了第一合并数组的生成。
17、可选的,若优先级为列优先,所述根据表格中单元格的内容,将符合条件的第一合并数组替换为区域合并数组,具体包括:
18、判断相邻列的单列合并数组中是否存在至少两个行坐标相同的单元格;
19、若是,则判断行坐标相同的单元格内容是否一致,若一致,则将内容一致的单元格作为区域合并数组,并将内容一致的单元格从单列合并数组中剔除。
20、通过采用上述技术方案,对单列合并数组中行坐标相同的单元格进行内容的判断,便于将行坐标一致且单元格内容一致的单列合并数组转换为区域合并数组,即对单列合并数组进行进一步的合并,以使得合并后的单元格更加清晰明了。
21、可选的,若优先级为列优先,所述基于第一合并数组以及区域合并数组,对单元格筛选得到单行合并数组或单列合并数组中的另一种,作为第二合并数组,具体包括:
22、对单列合并数组以及区域合并数组中的所有单元格进行标记;
23、逐一判断表格每一行未被标记的单元格中是否存在内容一致的相邻单元格;
24、若是,记录每行内容一致的相邻单元格的行列坐标,并根据行列坐标生成单行合并数组;
25、根据所有行的单行合并数组,得到第二合并数组。
26、通过采用上述技术方案,当优先级为列优先时,则单列合并数组以及区域合并数组中的单元格已无需再进行行合并,所以将单列合并数组以及区域合并数组中的所有单元格进行标记,在筛选行合并的单元格时,跳过已被标记的单元格,提高了处理速度,便于高效的得到第二合并数组。
27、可选的,所述实时将第一合并数组、第二合并数组以及区域合并数组进行整合,生成合并参数,具体包括:
28、将表格划分为多个数据区域;
29、分别判断同一第一合并数组、第二合并数组以及区域合并数组中的单元格是否位于两个或两个以上的数据区域内;
30、若未位于两个或两个以上的数据区域内,则分将对应的第一合并数组、第二合并数组以及区域合并数组作为合并参数;
31、若位于两个或两个以上的数据区域内,则分别判断对应的第一合并数组、第二合并数组或区域合并数组在各个数据区域的单元格数量是否大于等于二;若大于等于二,则根据对应第一合并数组、第二合并数组或区域合并数组在每个数据区域中大于等于二的单元格,生成合并参数。
32、通过采用上述技术方案,根据实际需要对表格进行划分,使得表格的合并只能在每个数据区域内进行合并,当出现同一第一合并数组、第二合并数组或区域合并数组中的单元格位于两个或两个以上的数据区域内时,则将各个数据区域中大于等于两个的单元格进行分别合并,从而使得表格的合并仅在划分好的数据区域中分别进行。
33、可选的,所述根据合并参数,对表格中对应的待合并单元格进行合并,具体包括:
34、根据起始行坐标以及起始列坐标,从待合并单元格中定位得到合并起始单元格;
35、删除起始单元格以外的其他待合并单元格;
36、根据合并行数和合并列数,对起始单元格进行放大。
37、通过采用上述技术方案,先定位得到合并起始单元格,删除起始单元格以外的其他待合并单元格并对起始单元格按照合并行数和合并列数进行放大,从而实现了根据合并参数对待合并单元格进行合并的效果。
38、第二方面,本技术提供一种表格动态合并系统,采用如下技术方案:
39、一种表格动态合并系统,包括:
40、第一合并单元,用于基于预设优先级,对单元格筛选得到单行合并数组或单列合并数组中的一种,作为第一合并数组;
41、区域合并单元,用于根据表格中单元格的内容,将符合条件的第一合并数组替换为区域合并数组;
42、第二合并单元,用于基于第一合并数组以及区域合并数组,对单元格筛选得到单行合并数组或单列合并数组中的另一种,作为第二合并数组;
43、合并数据生成单元,用于实时将第一合并数组、第二合并数组以及区域合并数组进行整合,生成合并参数;
44、单元格合并单元,用于根据合并参数,对表格中对应的待合并单元格进行合并。
45、通过采用上述技术方案,利用第一合并单元基于预设优先级,对单元格筛选得到单行合并数组或单列合并数组中的一种,作为第一合并数组,利用区域合并单元根据表格中单元格的内容,将符合条件的第一合并数组替换为区域合并数组,利用第二合并单元基于第一合并数组以及区域合并数组,对单元格筛选得到单行合并数组或单列合并数组中的另一种,作为第二合并数组,利用合并数据生成单元实时将第一合并数组、第二合并数组以及区域合并数组进行整合,生成合并参数,利用单元格合并单元根据合并参数,对表格中对应的待合并单元格进行合并,从而便于实现表格的自动合并。
46、第三方面,本技术提供一种计算机设备,采用如下技术方案:
47、一种计算机设备,包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如上述任一种方法的计算机程序。
48、第四方面,本技术提供一种计算机可读存储介质,采用如下技术方案:
49、一种计算机可读存储介质,包括存储有能够被处理器加载并执行如上述任一方法中的计算机程序。