一种表格调整方法以及装置与流程

文档序号:29306436发布日期:2022-03-19 17:50阅读:99来源:国知局
一种表格调整方法以及装置与流程

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.可选地,根据所述待调整表格中属于合并调整区域的单元格的内容,对属于合并调整区域中的单元格进行第二调整,包括:
50.根据所述待调整表格中的合并调整区域,各合并调整区域的合并方式以及各合并调整区域中各单元格的内容,分别对各合并调整区域进行列宽调整;
51.基于调整后的列宽,分别对各合并调整区域进行行高调整。
52.可选地,根据所述第一调整以及所述第二调整的调整结果,确定调整完成的表格,具体包括:
53.根据所述待调整表格中单独调整区域与合并调整区域的位置关系,通过所述第一调整后得到的所述单独调整区域的各单元格,以及通过所述第二调整后得到的所述合并调整区域的各单元格,确定调整完成的表格。
54.本说明书提供一种表格调整装置,包括:
55.调整区域确定模块,确定待调整表格以及所述待调整表格中各单元格的表结构类别;
56.表格划分模块,根据各单元格在所述待调整表格中的位置以及各单元格的表结构类别,确定所述待调整表格中的合并调整区域和单独调整区域;
57.调整模块,对所述初始化表格中属于单独调整区域的单元格以及属于合并调整区域的单元格,分别进行调整,确定调整结果;
58.确定模块,根据调整结果,确定调整完成的表格。
59.本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的表格调整方法。
60.本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的表格调整方法。
61.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
62.首先响应于用户的表格调整请求,可确定待调整表格以及待调整表格中各单元格的表结构类别。之后再根据各表结构类别的单元格在待调整表格中的位置,确定合并调整区域和单独调整区域,分别对单独调整区域的单元格进行列宽行高调整,以及对合并处理区域的单元格进行列宽行高调整,最后基于调整结果,确定调整完成的表格。可见,本技术提供的方法中,用户无需反复对各单元格进行调整,通过识别待调整表格,确定该待调整表
格中适于合并进行处理的单元格所在区域,以及适合独立处理的单元格所在区域,并依次进行列宽和行高的调整,得到调整完成的表格。减轻了用户调整表格的工作量,提高了表格的使用效率。
附图说明
63.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
64.图1为本说明书实施例提供的表格调整方法的流程示意图;
65.图2a和2b本说明书实施例提供的单元格的表结构类别的示意图
66.图3为本说明书提供的表格调整请求的入口示意图;
67.图4为本说明书提供的合并调整区域以及单独调整区域的示意图;
68.图5为本说明书提供的对合并调整区域的范围进行调整的示意图
69.图6为本说明书提供的选择界面的示意图;
70.图7为本说明书实施例提供的表格调整装置的示意图;
71.图8为本说明书实施例提供的对应于图1的电子设备的结构示意图。
具体实施方式
72.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
73.以下结合附图,详细说明本说明书各实施例提供的技术方案。
74.一般的,现有表格调整方法包括:人工手动调整以及通过软件提供的自动调整功能进行调整两种。前者需要用户逐一对需要调整的行、列或者单个单元格,进行调整,无论是输入数值还是手动拖拽,都需要反复进行多次操作,并且容易出现调整一致的情况,例如,几行表格的行高之间存在差异、列宽之间存在差异。后者则通常是仅针对单个列或者单个行,基于列或行中某个单元格的格式,调整整列或者整行,调整方式较为单一死板。或者,需要用户预先对某个单元格、列或者行先进行调整之后,再将该单元格、列或者行的格式复用到其他选中的列中,仍然需要用户多次操作,因此表格调整效率仍然较低。
75.并且,如前所述自动调整功能调整方式较为单一死板,当调整列中单元格中内容分布不均时,调整后的表格可能出现单元格留白区域过大,影响阅读的问题。例如,某个单元格中文本量较大,而其余单元格中文本量较小,调整行高或列宽之后,文本量较小的单元格中会出现大量留白区域。
76.进一步地,现有表格或部分单元格,在导出到新的工作表中时,不会保留原有表格的样式,导致复制、导出表格的可读性较低。使得目前表格在复制、导出后,仍需要人工进行表格调整。使得用户可能需要对相同的内容,进行多次调整,导致使用表格效率难以提升。
77.为了避免现有技术中表格调整时存在的问题,本说明书提供了一种表格调整方法。
78.图1为本说明书实施例提供的表格调整方法的流程示意图,包括:
79.s100:确定待调整表格以及所述待调整表格中各单元格的表结构类别。
80.在本说明书提供的一个或多个实施例中,由于用户对表格的调整通常是基于以下两方面原因的考虑:其一为表格中单元格对应的表结构,例如,对表格中标题部分的调整和内容部分的调整,通常用户调整方式是不同的,标题需要突出字体较大,单元格大小需要与内容区域的大小匹配。其二为表格中归属同样内容的单元格所在行和所述列中,各单元格的内容分布,例如,对于表格中的内容区域,对于每行,根据该行中各单元格中内容的多少、是否有换行等内容,确定如何调整改行的行高。可见,表格调整不仅仅要考虑到单元格中的内容,也需要考虑到单元格在表格中是标题还是内容。
81.于是,为了减少用户调整表格时的操作,本说明书实施例中,也需要先确定待调整表格的表结构,以基于表结构以及各单元格中的内容,对表格整体进行调整,减少用户操作复杂度的同时,保证表格调整的效果,避免现有自动调整功能的缺陷。
82.具体的,本说明书提供的表格调整方法可由终端执行,具体由终端中安装的能够开打表格对应格式的软件执行,该软件既可以是电子表格软件,也可以是电子表格软件中附加的插件软件,或者为电子表格软件中嵌入的软件代码,本说明书对此不做限制。为了方便描述,后续以电子表格软件为该表格调整流程的执行主体为例进行说明。
83.首先,由于本说明书提供的表格调整的流程,因此该电子表格软件可在打开任意的表格时,响应于用户的表格调整请求,确定当前展示的工作表(即,sheet)。
84.之后,该电子表格软件可将该工作表整体作为输入,输入预先训练的表格结构识别模型,得到该表格识别模型输出的识别结果。其中,该识别结果可包括该工作表中表格对应的范围,以及该表格中每个单元格的表结构类别。在本说明书提供的实施例中,该表结构类别至少可包括:大标题、副标题、行标题、补充信息、内容以及其他类别,如图2a和图2b所示。
85.图2a和图2b为本说明书实施例提供的单元格的表结构类别的示意图。其中,大标题即整个表格的总标题,一般对应整个表中所有行和列的。补充信息通常为大标题下编辑备注信息的单元格。行标题通常也称为表头,一般表头只对应表格中部分列或部分行,或者部分行和列。副标题一般是对应表格中全部列以及部分行,或者全部行以及部分列,一般来说副标题对应的表格在结构上是一致,各副标题对应的表格组合起来便是大标题对应的整个表格。内容对应的单元格一般为表格中具体编辑数据内容的单元格。
86.另外,由于一个工作表内可以编辑多个独立的表格,因此若当前展示的工作表中包含多个表格时,该表结构识别模型还可输出每个表格分别对应的范围,以及每个表格中每个单元格的表结构类别,使用户可以确定需要进行调整的表格,避免对没有调整需求的表格进行调整,以提高效率。
87.为方便后续描述,本说明书先以该工作表中只包含一个表格的实施例进行说明,后续在对其余情况进行补充说明。
88.于是,该电子表格软件,可根据该表格结构识别模型输出的识别结果,确定至少一个表格,并将该表格作为待调整表格。同时,该表格结构识别模型的识别结果中还包含该待调整表格中每个单元格的表结构类别。
89.图3为本说明书提供的表格调整请求的入口示意图。在图3中可见电子表格软件中
展示的当前展示的工作表中存在一个表格(即,阴影区域),该用户在工作表中调出菜单栏,该菜单栏中包含表格调整请求的入口对应的按键“表格调整”,当电子表格软件检测到用户对该按键操作时,则接收用户发起的表格调整请求,并响应于该请求执行步骤s100以及后续步骤。
90.需要说明的是,图3仅为表格调整请求的入口的一种情况的示意图,该入口还可设置在电子表格软件的菜单栏中,或者其他功能弹窗中,例如打印弹窗、另存为弹窗等等。该入口可以根据需要设置,本说明书不作限制。
91.s102:根据各单元格在所述待调整表格中的位置以及各单元格的表结构类别,确定所述待调整表格中的合并调整区域和单独调整区域。
92.在本说明书提供的一个或多个实施例中,单独调整区域为表格中的“内容”所在区域,一般情况复杂性较高,也就是说不同单元格中的内容的差异较大的可能性更高,如订单表中订单的各类订单的信息所在的区域,名单表中各种用户的信息所在的区域,而相对的于大标题、副标题、行标题等表结构类别的单元格,除了数量相对较少以外,还收到单独调整区域中单元格尺寸的影响,因此为了得到较好的调整效果,本说明书中可针对不同表结构类别的单元格分别进行调整。
93.具体的,在确定出待调整表格的各单元格的表结构类别后,可根据表格结构类别以及各单元格的位置关系,确定该待调整表格中可以作为一个单元格合并进行调整区域,即合并调整区域。以及确定出不适于合并调整的区域,即单独调整区域。单独调整区域表示其中的各单元格不适于与周围其他单元格作为一个单元格进行调整。
94.首先,在本说明书中该电表格软件,可针对每种预设的表结构类别,根据该待调整表格中各单元格的位置以及各单元格的表结构类别,确定属于该预设的表结构类别且相邻的各单元格对应的区域,并将确定出的区域作为一个合并调整区域。
95.其中,由于一般表格中标题栏为了提高用户易读性以及突出显示等目的,标题栏的结构相对统一,因此可将标题相关的表结构类别,且相邻的各单元格对应的区域,作为合并调整区域。在本说明书中该预设的表结构类别至少包括标题相关的类别,例如,该预设的表结构类别可以包括:大标题、副标题、行标题等。
96.当然,该预设的表格类别可以是一种,也可是多种。并且,若表格中属于内容类别的表结构类别的单元格记录的信息也相对统一,则该预设的表格类别也可包含内容类别的表结构类别。具体的,预设的表结构类别还可包含哪些,以及预设的表格类别具体是哪些均可以根据需要设置,本说明书不作限制。
97.其次,确定该待调整表格中不属于合并调整区域的其他区域,作为单独调整区域。当然,需要说明的是,在本说明书中,由于该表格中的合并调整区域中是属于相同类别且相邻的单元格,因此相同类别的单元格若不相邻则也可能落入不同的合并调整区域中,于是可能从待调整表格中确定出多个合并调整区域,则各合并调整区域要么类别不同,要么不相邻。进一步地,则单独调整区域也可能是多个独立互不相邻的区域,并由合并调整区域“划分”开。
98.图4为本说明书提供的合并调整区域以及单独调整区域的示意图,其中填充图案的区域为合并调整区域,不同图案表示不同的表结构类别,未填充图案的区域为单独调整区域。可见,填充竖直线条的合并调整区域与填充斜线的合并调整区域,划分为两个不同的
合并调整区域,而两个填充斜线的合并调整区域将单独调整区域“划分”为了两个。
99.另外,由于一般对于表格来说,标题相关的类别单元格对应的区域与其他类别单元格对应的区域从整体尺寸上来说应该是对应的,也就是说一张表格通常来说是一个规则矩形的。一方面,矩形的表格符合用户浏览表格的习惯,另一方面标题与内容“对应”也可避免用户浏览表格时理解出现歧义。因此,合并调整区域的总宽度,应与单独调整区域的总宽度匹配,于是该电子表格软件还可根据确定出的单独调整区域的尺寸,对各合并调整区域的范围进行调整。由于后续步骤进行第一调整或第二调整时,也会受到各类调整区域的范围的影响,为了避免因为调整区域的范围不一致,导致后续步骤调整时出现错误,或者调整效果不能达到预期的问题。本说明书中,该电子表格软件,确定出合并调整区域以及单独调整区域后,还可对其范围进行调整。
100.图5为本说明书提供的对合并调整区域的范围进行调整的示意图,其中,可见标题对应的单元格的数量(或宽度)与下方行标题对应的合并调整区域,以及内容对应的单独调整区域不一致,则可对该标题对应的单元格的范围进行调整,得到箭头右侧的表格。
101.其中,可见该合并调整区域范围的调整,还可包括对原本“空置”的单元格,进行合并的操作。具体的,该电子表格软件,可在扩展合并调整区域的范围时,判断扩展区域内的单元格是否包含内容,若未包含则进行范围调整,否则不进行范围调整。例如,仍以图5为例,假设扩展的范围内的单元格包含“备注”等补充信息,则可不做范围扩展。
102.进一步地,在本说明书提供的一个或多个实施例中,该电子表格软件,除了可根据单独调整区域的范围,调整相邻的合并调整区域进行范围调整以外,还可根据合并调整区域中不同表格类别的单元格的范围,对合并调整区域进行范围调整。
103.以合并调整区域为标题相关单元格所在区域为例,具体的,在本说明书中,在根据单独调整,对合并调整区域的范围进行调整后,还可针对包含两个以上表格类别单元的合并调整,判断该合并调整区域中各表格类别的单元格的范围是否一致,若不一致,则根据该合并调整区域的各表格类的单元格对应范围的宽度,确定最大宽度,并根据该最大宽度对该合并调整区域内其他表格类的单元格对应范围进行调整,使合并调整区域中各表格类别的单元格的宽度一致。
104.以由于合并调整区域为标题相关单元格所在区域为例进行说明,而不同标题类别的单元格通常不会位于同一行,因此可仅进行宽度调整。若合并调整区域中的不同表格类别的单元格存在位于同一行的情况,则也可进行高度上的范围调整。
105.s104:对所述待调整表格中属于单独调整区域的单元格以及属于合并调整区域的单元格,分别进行调整,确定调整结果。
106.在本说明书提供的一个或多个实施例中,步骤s102属于对待调整表格的划分,由于单独调整区域为表格中的“内容”所在区域,一般情况复杂性较高,也就是说不同单元格中的内容的差异较大的可能性更高,如订单表中订单的各类订单的信息所在的区域,名单表中各种用户的信息所在的区域,而相对的于大标题、副标题、行标题等表结构类别的单元格,除了数量相对较少以外,还收到单独调整区域中单元格尺寸的影响,因此为了得到较好的调整效果,本说明书中该电子表格软件可先对单独调整区域进行调整,之后再对合并调整区域进行调整。
107.具体的,如前所述,由于标题等适于合并调整的区域的单元格的大小,应配合内容
区域适于单独调整区域的单元格的大小进行调整,因此该电子表格软件,可根据该调整策略以及待调整表格中各单元格的内容,先针对每个单独调整区域,对该单独调整区域中的各单元格进行第一调整,然后在对各合并调整区域中的各单元格进行第二调整。并且,若需要对行高和列宽进行调整,则该第一调整和第二调整均为先进行列宽调整,再进行行高调整。由于单元格中的内容可以换行展示,因此单元格的行高受到列宽、文本内容以及换行情况多方面影响,而单元格的列宽,则受到单行单元格数量以及表格总宽度的影响。可见,影响单元格的列宽的变量中,单元格的数量是固定的,而表格总宽度正是可以调整的内容,因此优先调整列宽在减小调整难度的同时,也可避免重复调整的情况出现。例如,若先进行行高调整,后续在近些年该列宽调整,则可能造成之前调整的行高不合适,需要重复调整的问题。
108.并且,由于不同表格类别的单元格的内容存在较大差异,而基于表格类别确定出的合并调整区域也与单独调整区域存在调整需求上的区别,因此本说明提供的一个或多个实施例中,对单独调整区域的调整方式,与对合并调整的区域的调整方式不同。即,对单独调整区域的单元格进行第一调整,对合并调整区域中的单元格进行第二调整。
109.其中,该电子表格软件在调整单独调整区域中的单元格时,针对每个单独调整区域,根据调整策略以及该单独调整区域中各单元格的内容,确定所述单独调整区域中各列的列宽。列宽和行高的调整,以从左到右,从上到下的原则,进行调整。
110.具体的,以对确定出的各调整区域均进行列宽和行高的调整为例进行说明,该电子表格软件对于任一单独调整区域进行第一调整,首先:
111.可针对每一列,先根据该列中的每个单元格中文本行的最大宽度,确定该列的最大列宽,之后根据该调整策略对应的留白宽度计算共识,确定该最大列宽对应的期望列宽,然后根据该调整策略包含的表结构类别对应的预期列宽,判断该期望列宽是否大于该列单元格的表结构类别对应的预期列宽,若是,则根据该预期列宽调整该列单元格的列宽,若否,则根据该期望列宽调整该列单元格的列宽。该留白宽度与最大列宽正相关。
112.其次:
113.针对每一行,根据确定出的该行中每个单元格对应列的期望列宽、该单元格中各文本行的行宽、文本行的数量以及单行行高,确定每个单元格的期望行高,并根据各单元格中最大的期望行高,以及该调整策略对应的留白间距,确定该行进行调整的行高。该留白间距与最大的期望行高正相关。该留白间距与期望列宽正相关。
114.其中,对于列宽的调整,可为根据确定出的各列的列宽,对该待调整表格中对应整列进行列宽调整。同理,对于行高的调整,也可视为是根据确定出的各行的行高,对该待调整表格中对应整行进行行高调整。
115.然后:
116.在确定出各单独调整区域的每行行高和每列列宽之后,便可针对每个互不相邻的合并调整区域进行第二调整,根据该合并调整区域的合并方式以及该合并调整区域中各单元格的内容,对该合并调整区域进行列宽调整。
117.最后,再基于调整后的列宽,继续对该合并调整区域进行行高调整。
118.其中,合并方式包括:横向合并(即对只有一行的多列进行合并),纵向合并(即对只有一列的多行进行合并),多维合并(即对多行以及多列进行合并)。对应不同的合并方
式,该调整策略可对应设置不同的列宽调整和行高调整方法,只要使调整后的合并调整区域的尺寸与相邻的单独调整区域的尺寸匹配即可,因此仍然采用先调整列宽,再调整行高的方式进行调整。
119.当然,需要说明的是,具体对于各单独调整区域以及各合并调整区域,是否均进行行高和列宽的调整,可根据需要设置,并通过设置不同的调整策略实现。例如,属于大标题的表结构的合并调整区域,由于通常只有一行文本,因此行高很少出现问题,因此可以仅进行列宽调整。
120.s108:根据调整结果,确定调整完成的表格。
121.在本说明书提供的一个或多个实施例中,依次将待调整表格中单独调整区域的列宽调整以及行高调整调整完毕,再将合并调整区域的列宽调整以及行高调整调整完毕,便可根据调整结果确定为调整完成的表格。
122.具体的,在本说明书提供的一个或多个实施例中,由于待调整表格中的单独调整区域与合并调整区域是按照顺序分别进行第一调整和第二调整的,因此在确定调整完成的表格时,该电子表格软件还可以根据该待调整表格中单独调整区域与合并调整区域的位置关系,对通过第一调整得到的单独调整区域对应的调整结果和通过第二调整得到的合并调整区域对应的调整结果,进行拼接,确定调整完成的表格。以图4为例,按照从上到下的顺序,该电子表格软件,可确定待调整表格上方由竖线和斜线填充区域对应的合并调整区域,在通过第二调整后的调整结果,待调整表格中间的空白填充区域对应的单独调整区域,在通过第一调整后的调整结果,待调整表格中间的斜线填充区域对应的合并调整区域,在通过第二调整后的调整结果,以及待调整表格下方的空白填充区域对应的单独调整区域,在通过第一调整后的调整结果,将该四个调整结果按照从上倒下的顺序拼接确定调整完成的表格。
123.基于图1所示表格调整方法,首先响应于用户的表格调整请求,可确定待调整表格以及待调整表格中各单元格的表结构类别。之后再根据各表结构类别的单元格在待调整表格中的位置,确定合并调整区域和单独调整区域。然后分别对单独调整区域的单元格进行列宽行高调整,以及对合并处理区域的单元格进行列宽行高调整,最后基于调整结果,确定调整完成的表格。
124.可见,本技术提供的方法中,用户无需反复对各单元格进行调整,响应于用户的请求,通过识别待调整表格,确定该待调整表格中适于合并进行处理的单元格所在区域,以及适合独立处理的单元格所在区域,进一步根据调整策略,依次进行列宽和行高的调整,得到调整完成的表格。减轻了用户调整表格的工作量,提高了表格的使用效率。
125.另外,在本说明书一个或多个实施例中,由于待调整表格的中的单元格通常都是已经编辑好内容,设置好样式的。而在使单元格能够完成整展示内容的前提下,不同的字体样式、字间距、不同的字数等差异,所需单元格的尺寸可能不完全一致。因此,为了使调整后表格的效果统一,避免待调整表格当前的表格样式对后续调整表格产生不良影响,在步骤s104对待调整表格进行调整之前,该电子表格软件还可以根据各表结构类别,对该待调整表格进行初始化,得到初始化表格,在后续步骤基于该初始化表格进行调整。
126.具体的,该在本说明书中该电表格软件,可基于预设的各表结构类别的初始化规则对所述待调整表格进行初始化,确定初始化表格。
127.在本说明书中,针对不同表结构类别,可预设不完全相同的初始化规则,并针对每个合并调整区域,将该合并调整区域作为一个单元格,并根据该合并调整区域对应的表结构类别的初始化规则,对该合并调整区域中各单元格的内容样式以及格式样式进行初始化。
128.而针对每个单独调整区域,该电子表格软件可针对该单独调整区域中的每个单元格,根据该单元格的表结构类别的初始化规则,对该单元格的内容样式以及格式样式进行初始化。
129.可见,本说明书中的初始化规则至少包括对内容样式以及格式样式的初始化调整,其中,内容样式的初始化扩包括对字符的调整,例如,字体、字号、字形、字间距等内容的调整。而格式样式调整,则可包括对缩进、对齐、段落间距等格式的调整。当然,具体包含哪些调整,可根据需要设置,本说明书不作限制。
130.在本说明书提供的一个或多个实施例中,对待调整表格进行识别时,若通过图像处理的方式进行识别,存在难以准确确定单元格尺寸,识别结果容易受到单元格中内容影响,导致识别结果不准确的问题。而逐一对表格中各单元格进行识别,又会导致识别效率低,识别速度慢的问题。
131.因此,在本说明书一个或多个实施例中,步骤s100中该电子表格软件在确定识别结果时,首先,可确定调用或者载入该工作表时,需要调用的工作表的动态链接库(dynamic link library,dll)文件。当然,由于不同的电子表格软件,其载入工作表时所需的dll内容有可能不同,但是至少均包含有该工作表对应内容的数据,例如,工作表父对象、单元格对象合集、单元格尺寸、单元格边界样式、边界颜色、单元格对象类等等。
132.因此无论是何种电子表格软件,只要获取其对应的dll文件,该电子表格软件便可进一步确定该工作表的相关参数,也就是表征工作表中包含表格的参数。以此避免图像识别,或者单元格内容逐一识别所带来的问题。
133.之后,便可将确定出的工作表的参数作为输入,输入预先训练的表格结构识别模型中,得到该模型输出的识别结果。其中,为了避免出现输出结果的格式兼容问题,在本说明书一个或多个实施例中,该输出结果可采用通用的兼容数据格式,例如,常见的javascript对象简谱(javascript object notation,json)数据格式。使得在同步环境下该电子表格软件均可解析该模型输出的识别结果。
134.然后,该电子表格软件可对识别结果进行文件解析,如对json文件解析,确定至少一个表格,作为待调整表格,以及所述待调整表格中各单元格的表结构类别。其中,解析得到的待调整表格至少包括以下内容:行起始,行结束,列起始,列结束。即,根据上述解析得到内容,可以确定一个待调整表格的范围。而对于待调整表格中单元格的表结构类别,则根据识别结果中该待调整表格中各行对应的结构信息确定。
135.进一步地,如在步骤s100中所述的上述实施例中,均是仅以工作表只包含一个表格的实施例进行说明的。而当该工作表中包含多个表格时,在步骤s100中该电子表格软件在响应于用户的表格调整请求,确定当前展示的工作表,并将其输入该表格结构识别模型后,根据该表格结构识别模型输出的识别结果,可确定多个表格。
136.则该电子表格软件,可展示选择界面,该选择界面中包含有识别出的各表格,以便用户通过该选择界面选择需要调整的表格。
137.于是,当该电子表格软件检测到用户的选择操作后,可响应于该选择操作,确定该用户从展示的各表格中选择的表格,作为待调整表格。
138.图6为本说明书提供的选择界面的示意图。图中背景为工作表,可见该工作表中包含了3个表格,分别以不同填充图案表示,而展示的选择界面中左侧将识别出的各表格以及该工作表对应的所有表格分别作为待选项排列展示,选择界面的右侧则展示当前选中的表格。
139.其中,该选择界面中排列展示的顺序可根据需要设置,例如,将包含所有表格的选项作为第一位,其余表格按照在工作表中的位置,以从上到下,从左到右的顺序,依次确定排列展示的顺位。
140.更进一步地,由于用户也存在仅需要对表格中部分区域进行调整的需求,例如,表格中只有某部分区域难以浏览,或出现文本遮挡,或字符过小难以辨识,则用户可以仅选择需要调整的区域进行调整。
141.具体的,该电子表格软件根据检测到的用户选择操作,确定当前展示的工作表中用户选中区域,之后,再响应于该用户的表格调整请求,将包含该选中区域的工作表输入预先训练的表格结构识别模型,根据识别结果,确定该选中区域对应的表格以及当前展示的工作表中的各表格。
142.然后,该电子表格软件展示选择界面,该选择界面中包含有:选中区域对应的表格、工作表中的各表格以及各表格的总和,以便用户通过该选择界面选择需要调整的表格。
143.最后,根据检测到的用户的选择操作去,确定待调整表格。
144.上述为本说明书提供的确定待调整表格的多种实施例,也就是说用户在发起调整表格请求时,只要当前展示的工作表中至少包含一个表格,则该电子表格软件,便可通过展示选择界面,将候选的可进行调整的表格展示出来,以根据用户的选择操作,确定待调整表格。
145.而当用户在当前展示的工作表中有选中的区域时,则该区域是用户想要进行调整的表格区域的可能性较大,因此在选择界面中还可包含该选中区域对应的表格,作为待选项。
146.或者,在本说明书提供的另一种实施例中,当用户在当前展示的工作表中有选中区域时,则根据识别结果,将该区域对应的表格作为待调整表格。
147.另外,在本说明书中,该电子表格软件,在对待调整表格调整之后,还可展示调整后的表格,以响应于用户的确认操作,将各单元格的调整结果应用于待调整表格,确定调整完成的表格。也就是说,该电子表格软件可生成待调整表格的副本,并对该副本进行各项调整,以得到调整后的结果,作为一种预览结果展示给用户,只有当用户确认时,才将该副本作为调整完成的表格进行存储。
148.进一步地,当还需要待调整表格进行初始化时,该电子表格软件还可从对待调整表格进行初始化前,便生成待调整表格的副本,之后对该副本进行初始化,再进行各项调整,以得到调整后的结果,然后将预览结果展示给用户,并响应于用户的确认操作,将该副本作为调整完成的表格进行存储。
149.或者,在本说明书一个或多个实施例中,该电子表格软件也可响应于用户的确认操作,将该调整后的结果,复用至该待调整表格上。
150.基于上述若干实施例,本说明书还提供另一种表格调整流程:
151.s200:响应于用户对当前展示的工作表的选择操作,确定所述当前展示的工作表中用户选中区域;
152.s201:响应于所述用户的表格调整请求,对当前展示的工作表进行识别,确定待调整表格以及所述待调整表格中各单元格的表结构类别;
153.s202:根据识别结果,创建选择界面,展示作为待选项的各表格,其中,所述选中区域对应的表格作为待选项之一;
154.s203:响应于用户的选择操作,从各待选项中确定待调整表格;
155.s204:根据各单元格在所述待调整表格中的位置以及各单元格的表结构类别,确定所述待调整表格中的合并调整区域和单独调整区域,以基于各表结构类别的初始化规则对所述待调整表格进行初始化,确定初始化表格;
156.s205:分别对所述初始化表格中属于单独调整区域的单元格,以及属于合并调整区域中的单元格,依次进行列宽调整以及行高调整;
157.s206:根据调整后的表格进行展示;
158.s207:响应于用户的确认操作,根据调整后单独调整区域以及合并调整区域中的各单元格,确定调整完成的表格。
159.基于图1所示表格调整方法,本说明书实施例还对应提供一种表格调整装置的结构示意图,如图7所示。
160.图7为本说明书实施例提供的一种表格调整装置的结构示意图,所述装置包括:
161.调整区域确定模块300,确定待调整表格以及确定所述待调整表格中各单元格的表结构类别;
162.表格划分模块302,根据各单元格在所述待调整表格中的位置以及各单元格的表结构类别,确定所述待调整表格中的合并调整区域和单独调整区域;
163.调整模块304,对所述待调整表格中属于单独调整区域的单元格以及属于合并调整区域的单元格,分别进行调整,确定调整结果;
164.确定模块306,根据调整结果,确定调整完成的表格。
165.可选地,所述调整区域确定模块300,确定工作表,将所述工作表输入预先训练的表格结构识别模型,确定识别结果,根据所述识别结果,确定至少一个表格作为待调整表格,根据识别结果,确定所述待调整表格中各单元格的表结构类别。
166.可选地,所述调整区域确定模块300,确定所述工作表的动态链接库文件,根据所述动态链接库文件,确定所述工作表的参数,并输入所述预先训练的表格结构识别模型,对所述表格结构识别模型输出的识别结果进行文件解析,确定至少一个待调整表格,对所述表格结构识别模型输出的识别结果进行文件解析,确定所述待调整表格中各单元格的表结构类别。
167.可选地,所述调整区域确定模块300,确定工作表,以及所述工作表中的选中区域,将包含所述选中区域的工作表输入预先训练的表格结构识别模型,确定识别结果,根据所述识别结果,至少确定所述选中区域对应的表格,作为待调整表格,根据所述识别结果,确定识别结果确定所述待调整表格中各单元格的表结构类别。
168.可选地,所述表格划分模块302,根据所述待调整表格中各单元格的位置以及各单
元格的表结构类别,确定属于预设的表结构类别且相邻的各单元格对应的区域,作为一个合并调整区域,确定所述待调整表格中不属于合并调整区域的其他区域,作为单独调整区域,其中,所述预设的表结构类别至少包括标题相关的类别。
169.可选地,所述调整模块304,根据所述单独调整区域,对各合并调整区域进行范围调整,和/或根据合并调整区域中不同表格类别的单元格的范围,对合并调整区域进行范围调整。
170.可选地,所述调整模块304,对所述待调整表格中属于单独调整区域的单元格以及属于合并调整区域的单元格,分别进行调整之前,根据各表结构类别,对所述待调整表格进行初始化。
171.可选地,所述调整模块304,将各合并调整区域分别作为一个单元格,并根据各合并调整区域对应的表结构类别,分别对各合并调整区域中各单元格的内容样式以及格式样式进行初始化调整,根据所述单独调整区域中的每个单元格的表结构类别,分别对各单元格的内容样式以及格式样式进行初始化调整。
172.可选地,所述调整模块304,根据所述待调整表格中属于单独调整区域的单元格的内容,对单独调整区域的单元格进行第一调整;根据所述待调整表格中属于合并调整区域的单元格的内容,对属于合并调整区域中的单元格进行第二调整,其中,所述第一调整和上所述第二调整均至少包括列宽调整和行高调整中的至少一种。
173.可选地,所述调整模块304,根据各单独调整区域中各单元格的内容,分别确定各单独调整区域中各列的列宽,根据确定出的各列的列宽,对所述待调整表格中对应列进行列宽调整,根据确定出的各列列宽、所述调整策略以及各单独调整区域中各单元格的内容,分别确定各单独调整区域中各行的行高,根据确定出的各行的行高,对所述待调整表格中对应行进行行高调整。
174.可选地,所述调整模块304,根据所述待调整表格中的合并调整区域,各合并调整区域的合并方式以及各合并调整区域中各单元格的内容,分别对各合并调整区域进行列宽调整,基于调整后的列宽,分别对各合并调整区域进行行高调整。
175.可选地,所述确定模块306,根据所述待调整表格中单独调整区域与合并调整区域的位置关系,通过所述第一调整后得到的所述单独调整区域的各单元格,以及通过所述第二调整后得到的所述合并调整区域的各单元格,确定调整完成的表格。
176.本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述提供的表格调整方法。
177.基于上述提供的表格调整方法,本说明书实施例还提供了图8所示的电子设备的结构示意图。如图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述的表格调整方法。
178.当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
179.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然
而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
180.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
181.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
182.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
183.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机
程序产品的形式。
184.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
185.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
186.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
187.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
188.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
189.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
190.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
191.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
192.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
193.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
194.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1