一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种表格调整方法、装置、电子设备及存储介质与流程

2022-02-22 10:19:07 来源:中国专利 TAG:


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.hi=a1*xi26.其中,hi表示所述列中的第i个单元格对应的行高目标函数,i=1,2,
……
,n,n表示所述列中的单元格数量;
27.a1表示所述第一倍率;
28.xi表示所述列中的第i个单元格对应的第一目标列宽参数。
29.在一种可能的实施方式中,根据所述列中的各单元格包含的数据的面积和各自对应的所述行高目标函数,计算各自对应的第一目标列宽参数值,具体包括:
30.通过以下公式计算所述列中的各单元格各自对应的第一目标列宽参数值:
[0031][0032]
其中,xi表示所述列中的第i个单元格对应的第一目标列宽参数;
[0033]
si表示所述列中的第i个单元格包含的数据的面积。
[0034]
在一种可能的实施方式中,基于所述列中的各单元格的行高、所述列的列宽以及第一倍率,确定所述列的第一目标列宽,具体包括:
[0035]
为所述列中的各单元格设置一个第二目标列宽参数;
[0036]
根据所述列中的各单元格包含的数据的面积、所述第二目标列宽参数和所述第一倍率,设置所述列对应的列宽目标函数;
[0037]
根据所述列宽目标函数计算获得所述列的第一目标列宽。
[0038]
在一种可能的实施方式中,根据所述列中的各单元格包含的数据的面积、所述目标列宽参数和所述第一倍率,设置所述列对应的列宽目标函数,具体包括:
[0039]
将以下公式设置为所述列对应的列宽目标函数:
[0040][0041]
其中,f(x)表示所述列对应的列宽目标函数;
[0042]
si表示所述列中的第i个单元格包含的数据的面积,i=1,2,
……
,n,n表示所述列中的单元格数量;
[0043]
x表示所述列中的各单元格的第二目标列宽参数;
[0044]
a1表示所述第一倍率。
[0045]
在一种可能的实施方式中,根据所述列中的各单元格各自对应的第一目标行高以及所述列中的各单元格的行高,确定所述列中的各单元格各自对应的第二目标行高,具体包括:
[0046]
针对所述列中的每一单元格,若确定所述单元格对应的第一目标行高大于或者等于所述单元格的行高,则将所述单元格对应的第一目标行高确定为所述单元格对应的第二目标行高;
[0047]
若确定所述单元格对应的第一目标行高小于所述单元格的行高,则将所述单元格的行高确定为所述单元格对应的第二目标行高。
[0048]
一方面,本公开实施例提供了一种表格调整装置,包括:
[0049]
第一确定单元,用于响应于监测到表格中任一列的列宽和所述列中单元格的行高满足调整条件,基于所述列中的各单元格的行高、所述列的列宽以及第一倍率,确定所述列的第一目标列宽;
[0050]
第二确定单元,用于根据所述列中的各单元格包含的数据的面积和所述第一目标列宽,确定所述列中的各单元格各自对应的第一目标行高;
[0051]
第三确定单元,用于根据所述列中的各单元格各自对应的第一目标行高以及所述列中的各单元格的行高,确定所述列中的各单元格各自对应的第二目标行高;
[0052]
调整单元,用于将所述列的列宽调整为所述第一目标列宽,将所述列中的各单元格的行高调整为各自对应的所述第二目标行高。
[0053]
在一种可能的实施方式中,所述第一确定单元,具体用于通过以下方式确定所述表格任一列的列宽和所述列中各单元格的行高满足调整条件:若所述列中的任一单元格的行高大于第二倍率的所述列的列宽,则确定所述列的列宽和所述列中单元格的行高满足调整条件;或者若所述列中的各单元格的行高的离散度大于或者等于预设阈值,则确定所述列的列宽和所述列中单元格的行高满足调整条件。
[0054]
在一种可能的实施方式中,所述第一确定单元,具体用于根据所述列中的各单元格的行高和所述第一倍率,确定所述列中的各单元格各自对应的第二目标列宽,以及根据所述列中的各单元格的行高和第二倍率,确定所述列中的各单元格各自对应的第三目标列宽,其中,所述第二倍率大于所述第一倍率;响应于最大第三目标列宽小于或等于最小第二目标列宽,则根据所述最大第三目标列宽与所述最小第二目标列宽确定目标列宽区间;响应于最大第三目标列宽大于最小第二目标列宽,则根据任意两个所述第三目标列宽与所述最小第二目标列宽确定所述目标列宽区间;将所述目标列宽区间中任意值确定为所述列的第一目标列宽。
[0055]
在一种可能的实施方式中,所述第一确定单元,具体用于分别为所述列中的各单
元格设置各自对应的第一目标列宽参数;根据所述列中的各单元格各自对应的第一目标列宽参数和所述第一倍率,确定所述列中的各单元格各自对应的行高目标函数;根据所述列中的各单元格包含的数据的面积和各自对应的所述行高目标函数,计算各自对应的第一目标列宽参数值;根据各个所述第一目标列宽参数值确定所述列的第一目标列宽。
[0056]
在一种可能的实施方式中,所述第一确定单元,具体用于将以下公式确定为所述列中的各单元格各自对应的行高目标函数:
[0057]hi
=a1*xi[0058]
其中,hi表示所述列中的第i个单元格对应的行高目标函数,i=1,2,
……
,n,n表示所述列中的单元格数量;
[0059]
a1表示所述第一倍率;
[0060]
xi表示所述列中的第i个单元格对应的第一目标列宽参数。
[0061]
在一种可能的实施方式中,所述第一确定单元,具体用于通过以下公式计算所述列中的各单元格各自对应的第一目标列宽参数值:
[0062][0063]
其中,xi表示所述列中的第i个单元格对应的第一目标列宽参数;
[0064]
si表示所述列中的第i个单元格包含的数据的面积。
[0065]
在一种可能的实施方式中,所述第一确定单元,具体用于为所述列中的各单元格设置一个第二目标列宽参数;根据所述列中的各单元格包含的数据的面积、所述第二目标列宽参数和所述第一倍率,设置所述列对应的列宽目标函数;根据所述列宽目标函数计算获得所述列的第一目标列宽。
[0066]
在一种可能的实施方式中,所述第一确定单元,具体用于将以下公式设置为所述列对应的列宽目标函数:
[0067][0068]
其中,f(x)表示所述列对应的列宽目标函数;
[0069]
si表示所述列中的第i个单元格包含的数据的面积,i=1,2,
……
,n,n表示所述列中的单元格数量;
[0070]
x表示所述列中的各单元格的第二目标列宽参数;
[0071]
a1表示所述第一倍率。
[0072]
在一种可能的实施方式中,所述第三确定单元,具体用于针对所述列中的每一单元格,若确定所述单元格对应的第一目标行高大于或者等于所述单元格的行高,则将所述单元格对应的第一目标行高确定为所述单元格对应的第二目标行高;若确定所述单元格对应的第一目标行高小于所述单元格的行高,则将所述单元格的行高确定为所述单元格对应的第二目标行高。
[0073]
一方面,本公开实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现本公开所述的
表格调整方法。
[0074]
一方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现本公开所述的表格调整方法中的步骤。
[0075]
本公开实施例的有益效果如下:
[0076]
本公开实施例提供的表格调整方法、装置、电子设备及存储介质,响应于监测到表格中任一列的列宽和该列中单元格的行高满足预设条件,根据该列中的各单元格的行高、该列的列宽和第一倍率,确定该列的第一目标列宽,根据该列中各单元格中数据的面积和第一目标列宽,确定该列中的各单元格各自对应的第一目标行高(即理想目标行高),进而,根据该列中的各单元格的第一目标行高和该列中的各单元格的行高,确定该列中各单元格各自对应的最终需调整的目标行高:第二目标行高,将该列的列宽调整为第一目标列宽,将该列中的各单元格的行高调整为各自对应的第二目标行高,从而,实现行高、列宽的自动自适应调整,本公开实施例中,实现了对行高列宽同时进行自动自适应调整,提高了表格调整效率,使得表格整体结构整齐有序,使表格中每一单元格中的数据内容均可达到均衡的展示效果,进而,提升了阅读效果。
附图说明
[0077]
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
[0078]
图1为本公开实施例提供的表格调整方法的一个应用场景示意图;
[0079]
图2为本公开实施例提供的表格调整方法的实施流程示意图;
[0080]
图3为本公开实施例提供的确定满足调整条件的任一列的第一目标列宽的一实施流程示意图;
[0081]
图4为本公开实施例提供的确定满足调整条件的任一列的第一目标列宽的另一实施流程示意图;
[0082]
图5为本公开实施例提供的确定满足调整条件的任一列的第一目标列宽的又一实施流程示意图;
[0083]
图6为本公开实施例提供的表格调整装置的结构示意图;
[0084]
图7为本公开实施例提供的电子设备的结构示意图。
具体实施方式
[0085]
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0086]
本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0087]
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何
命名都仅用于区分,而不具有任何限制含义。
[0088]
为了方便理解,对本公开实施例中涉及的技术术语进行解释:
[0089]
1、单元格行高:表格中一个单元格顶部边线到底部边线的高度。
[0090]
2、单元格列宽:表格中一个单元格左边边线到右边边线的宽度。
[0091]
3、行高:表格中一行的高度,同行所有单元格具有相同行高。
[0092]
4、列宽:表格中一列的宽度,同列中所有单元格具有相同列宽。
[0093]
5、嵌入式图片:在单元格中内嵌的图片,以一个单元格为容器,限制在单元格内展示。
[0094]
6、黄金矩形:黄金矩形的长宽比为黄金分割率。
[0095]
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
[0096]
发明概述
[0097]
本发明人发现,在表格中展示数据内容时,相关技术中,通常根据预先设置的单元格的固定行高,或者固定列宽,或者固定行高和列宽进行展示,如果一个单元格中展示的数据内容量过大,例如,当单元格中的文本数据内容过长,或者当单元格中插入的嵌入式图片的面积过大,需要通过手动调整表格的列边线和/或行边线以调整表格的列宽和/或行高,例如,可以通过双击表格的列边线实现在行高固定的情况下调整列宽,或者双击表格的行边线实现在列宽固定的情况下调整行高,或者分别手动调节行高和列宽,使得在单元格中可以完整展示其包含的数据内容,然而,这种表格调整方式调整效率较低,且调整后表格结构杂乱无序,无法均衡展示表格中所有单元格中的数据内容。
[0098]
为了解决上述问题,本公开提出了一种表格调整方法、装置、电子设备及存储介质,响应于监测到表格中任一列的列宽和该列中单元格的行高满足预设条件,根据该列中的各单元格的行高、该列的列宽和第一倍率,确定该列的第一目标列宽,根据该列中各单元格中数据的面积和第一目标列宽,确定该列中的各单元格各自对应的第一目标行高(即理想目标行高),进而,根据该列中的各单元格的第一目标行高和该列中的各单元格的行高,确定该列中各单元格各自对应的最终需调整的目标行高:第二目标行高,将该列的列宽调整为第一目标列宽,将该列中的各单元格的行高调整为各自对应的第二目标行高,从而,实现行高、列宽的自动自适应调整,本公开实施例中,实现了对行高列宽同时进行自动自适应调整,提高了表格调整效率,使得表格整体结构整齐有序,使表格中每一单元格中的数据内容均可达到均衡的展示效果,进而,提升了阅读效果。
[0099]
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
[0100]
应用场景总览
[0101]
参考图1,其为本公开实施例提供的表格调整方法的应用场景示意图。该应用场景可以包括终端设备101和服务器102,终端设备101和服务器102之间通过通信网络连接。服务器102可对用户通过终端设备101操作中的表格或者用户输入到终端设备101的已操作完成的表格进行监测,服务器102响应于监测到表格中任一列的列宽和该列中单元格的行高满足调整条件,对满足调整条件的各列的列宽以及列中各单元格的行高进行调整,以使表格整体结构整齐有序,使表格中每一单元格中的数据内容可均衡展示。在另一个应用场景中,本公开实施例提供的表格调整方法也可以直接应用于终端设备101,可通过终端设备
101监测用户操作中的表格或者用户输入的已操作完成的表格,终端设备101响应于监测到表格中任一列的列宽和该列中单元格的行高满足调整条件,对满足调整条件的各列的列宽以及列中各单元格的行高进行调整,本公开实施例对此不作限定。
[0102]
其中,通信网络可为局域网、广域网、移动互联网等,终端设备101可以但不限于为:智能手机、平板电脑、笔记本电脑、台式计算机等设备,服务器102可以是独立的物理服务器,也可以是提供云服务器、云数据库、云存储等基础云计算服务的云服务器,本公开实施例对此不作限定。
[0103]
示例性方法
[0104]
下面结合上述应用场景,来描述根据本公开示例性实施方式的表格调整方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
[0105]
本公开实施例提供了一种表格调整方法,可应用于图1所示的服务器102,或者,也可应用于图1所示的终端设备101,本公开实施例中仅以应用于终端设备101为例进行说明,如图2所示,其为本公开实施例提供的表格调整方法的实施流程示意图,具体可包括以下步骤:
[0106]
s21、响应于监测到表格中任一列的列宽和所述列中单元格的行高满足调整条件,基于所述列中的各单元格的行高、所述列的列宽以及第一倍率,确定所述列的第一目标列宽。
[0107]
具体实施时,用户可在终端设备上建立表格,并对表格进行操作,如在各单元格中输入数据内容,单元格中的数据内容的类型可包括但不限于以下类型:文本数据、插入的嵌入式图片,或者文本数据与嵌入式图片的混合数据。在单元格中插入文本数据时,可对文本数据进行自动换行设置、换行符输入、设置字体大小、复制、剪切、粘贴等操作。用户还可将已操作完成的表格上传至终端设备,终端设备可对正在操作中的表格或已操作完成的表格进行监测,终端设备响应于监测到表格中任一列的列宽和该列中单元格的行高满足调整条件,根据该列中的各单元格的行高、该列的列宽以及第一倍率,确定该列的目标列宽,记为第一目标列宽,其为该列最终需要调整的目标列宽。
[0108]
在实施过程中,本公开发明人为了使得表格中的单元格的行高、列宽展示视觉均衡效果,可以根据黄金比率的视觉法则设计行高、列宽的调整规则,其中,第一倍率表征单元格的行高占列宽的比率,例如,假设表格中单元格的行高为h,列宽为x,第一倍率为a1,则单元格的行高、列宽和第一倍率的关系可表示为:h=a1x,例如,a1可以采用黄金分割比例,本公开实施例不限于此,在实施过程中,可以根据需求自行设定,a1的取值能够使得表格展示均衡,满足舒适的阅读效果即可,例如,当a1设置为黄金分割比例时,即:行高h与列宽x的比值为黄金分割比例,满足黄金分割规则,这样生成的单元格为黄金矩形,可以达到比较均衡的展示效果,提高阅读舒适度。
[0109]
具体地,可以通过以下方式确定表格该任一列的列宽和该列中各单元格的行高满足调整条件:
[0110]
在一种可能的实施方式中,若该列中的任一单元格的行高大于第二倍率的该列的列宽,则确定该列的列宽和该列中单元格的行高满足调整条件。
[0111]
具体实施时,若终端设备监测到表格中任一单元格的行高大于第二倍率的该单元
格所在列的列宽,则确定该列的列宽和该列中单元格的行高满足调整条件,需对该列的宽和该列中各单元格的行高进行调整。例如,当第二倍率a2设置为1时,若终端设备监测到任一单元格的行高大于该单元格所在列的列宽时,则确定该列的列宽和该列中单元格的行高满足调整条件。
[0112]
在一种可能的实施方式中,若该列中的各单元格的行高的离散度大于或者等于预设阈值,则确定该列的列宽和该列中单元格的行高满足调整条件。
[0113]
具体实施时,针对表格中的一列,终端设备还可以通过列中的各单元格的行高的离散度与预设阈值进行比较,来确定列的列宽和其包含单元格的行高是否满足调整条件。
[0114]
具体地,本公开实施例中可以但不限于将一列中的各单元格的行高的方差或者标准差确定为一列中的各单元格的行高的离散度,其中,预设阈值可根据经验值自行设定,本公开实施例对此不作限定,例如,可以设置预设阈值为0.36,若一列中的各单元格的行高的离散度小于该预设阈值,认为该一列中各单元格的数据内容显示比较均衡,无需对该一列的列宽和其包含单元格的行高进行调整,若一列中的各单元格的行高的离散度大于或者等于该预设阈值,认为该一列中各单元格的数据内容显示不均衡,则确定该一列的列宽和其包含单元格的行高满足调整条件,需对该一列的列宽和其包含单元格的行高进行调整。
[0115]
s22、根据所述列中的各单元格包含的数据的面积和所述第一目标列宽,确定所述列中的各单元格各自对应的第一目标行高。
[0116]
具体实施时,针对任一列满足调整条件的单元格,终端设备可以根据该列中的各单元格包含的数据的面积和确定出的该列的第一目标列宽,确定所述列中的各单元格各自对应的第一目标行高,其中,确定出的每一单元格各自对应的第一目标行高为每一单元格的理想行高,也就是说,若按照第一目标列宽和该列中各单元格各自对应的第一目标行高进行展示,则该列可达到一个比较理想的均衡展示效果。当单元格中的数据为文本数据时,可根据字符大小(即字号)、字符个数获取文本数据的面积,若单元格中的数据为嵌入式图片,则可将图片的面积作为该单元格包含的数据的面积,若单元格中的数据为文本数据和嵌入式图片的混合数据,则可将文本数据的面积与图片的面积之和作为该混合数据的面积。
[0117]
s23、根据所述列中的各单元格各自对应的第一目标行高以及所述列中的各单元格的行高,确定所述列中的各单元格各自对应的第二目标行高。
[0118]
具体实施时,考虑到表格中其它列中的某些单元格包含的数据内容的面积大于该列中对应行的单元格中包含的数据内容的面积,为了使得其它列中的这些单元格均能达到均衡展示的效果,需基于各单元格的第一目标行高和各单元格的行高也就是调整前各单元格当前行高对该列中各单元格的最终调整的目标行高(可记为第二目标行高)进行调整。具体而言,终端设备根据该列中的各单元格各自对应的第一目标行高以及该列中的各单元格的行高,确定该列中的各单元格各自对应的第二目标行高,针对所述列中的每一单元格,若确定该单元格对应的第一目标行高大于或者等于该单元格的行高,则将该单元格对应的第一目标行高确定为该单元格对应的第二目标行高,若确定该单元格对应的第一目标行高小于该单元格的行高,则将该单元格的行高确定为该单元格对应的第二目标行高。
[0119]
s24、将所述列的列宽调整为所述第一目标列宽,将所述列中的各单元格的行高调整为各自对应的第二目标行高。
[0120]
具体实施时,终端设备将该列的列宽调整为第一目标列宽,将该列中的各单元格的行高调整为各自对应的第二目标行高。
[0121]
本公开实施例提供的表格调整方法,终端设备(或服务器)响应于监测到表格中任一列的列宽和该列中单元格的行高满足预设条件,根据该列中的各单元格的行高、该列的列宽和第一倍率,确定该列的第一目标列宽,根据该列中各单元格中数据的面积和第一目标列宽,确定该列中的各单元格各自对应的第一目标行高,进而,根据该列中的各单元格的第一目标行高和该列中的各单元格的行高,确定该列中各单元格各自对应的最终需调整的目标行高:第二目标行高,将该列的列宽调整为第一目标列宽,将该列中的各单元格的行高调整为各自对应的第二目标行高,从而,实现行高、列宽的自动自适应调整,本公开实施例中,实现了对行高列宽同时进行自动自适应调整,提高了表格调整效率,使得表格整体结构整齐有序,使表格中每一单元格中的数据内容均可达到均衡的展示效果,进而,提升了阅读效果。
[0122]
作为一种可能的实施方式,可按照如图3所示的流程执行步骤s21中确定满足调整条件的任一列的第一目标列宽的步骤,具体包括以下步骤:
[0123]
s31、根据列中的各单元格的行高和第一倍率,确定列中的各单元格各自对应的第二目标列宽,以及根据列中的各单元格的行高和第二倍率,确定列中的各单元格各自对应的第三目标列宽。
[0124]
在实施过程中,为了使得表格中的单元格的行高、列宽展示视觉均衡效果,可以设计行高、列宽的调整规则满足如下关系:可要求行高在第一倍率的列宽至第二倍率的列宽之间,其中,第二倍率与第一倍率一样,均表征单元格的行高占列宽的比率,例如,假设表格中单元格的行高为h,列宽为x,第二倍率为a2,则单元格的行高、列宽和第二倍率的关系可表示为:h=a2x,其中,第二倍率大于第一倍率,根据黄金比率(即黄金分割率)的视觉法则,a1可以设置为黄金分割比例,a2可以设置为1,本公开实施例对此不作限定。
[0125]
具体实施时,考虑到一列中的不同单元格中的数据内容的面积不同,存在不同行高的情况,列宽为x,可将该列的各单元格的行高设置在a1x~a2x之间,假设需调整的一列包含n行,这一列即包含n个单元格,假设各单元格的行高分别为h1~hn,则终端设备根据该列中的各单元格1~n的行高h1~hn和第一倍率a1,确定该列中的各单元格1~n各自对应的第二目标列宽x1~xn,具体为:根据该列中的各单元格1~n的行高h1~hn和第二倍率a2,确定该列中的各单元格1~n各自对应的第三目标列宽x1~xn,具体为:
[0126]
s32、响应于最大第三目标列宽小于或等于最小第二目标列宽,则根据最大第三目标列宽与最小第二目标列宽确定目标列宽区间;响应于最大第三目标列宽大于最小第二目标列宽,则根据任意两个第三目标列宽与最小第二目标列宽确定目标列宽区间。
[0127]
具体实施时,可接受的最大列宽可满足以下条件:在之间,且在之间,
……
,且在之间,也就是说,列宽x需满足的目标列宽区间为:
即:最大第三目标列宽与最小第二目标列宽之间。
[0128]
在实施过程中,若最大第三目标列宽小于或等于最小第二目标列宽,则将最大第三目标列宽确定为目标列宽区间的区间下限,将最小第二目标列宽确定为目标列宽区间的区间上限,得到目标列宽区间,即:将中的最大值作为区间下限,将中的最小值作为区间上限,得到目标列宽区间。
[0129]
若最大第三目标列宽大于最小第二目标列宽,也就是中无值时,则可根据任意两个第三目标列宽与最小第二目标列宽确定目标列宽区间。具体而言,可去除当前最大第三目标列宽和最小第三目标列宽,即去除中的最大值和最小值,继续计算目标列宽区间,直至当前剩余的第三目标列宽中的最大值小于或者等于第二目标列宽中的最小值,使得获得的目标列宽区间中有值。
[0130]
s33、将目标列宽区间中任意值确定为列的第一目标列宽。
[0131]
具体实施时,终端设备可将落入目标列宽区间范围中的任意一个值确定为该列的第一目标列宽。需要说明的是,当最大第三目标列宽等于最小第二目标列宽时,则将该最大第三目标列宽(或该第二目标列宽)确定为该列的第一目标列宽。
[0132]
需要说明的是,针对无数据内容的单元格,即数据的面积为0的单元格在计算时可忽略,计算出第一目标列宽后,此单元格的行高可直接展示为第一倍率的第一目标列宽。
[0133]
下面举一实例进行说明,以a1取值为0.618,a2取值为1进行说明,可将待调整列的各单元格的行高设置在0.618x~x之间,本公开实施例不限于此。假设待调整的一列包含n个单元格,已知各单元格的行高分别为h1~hn,则该列中的各单元格1~n各自对应的第二目标列宽为:标列宽为:该列中的各单元格1~n各自对应的第三目标列宽为:x1=h1,x2=h2,
……
,xn=hn,则列宽x需满足的目标列宽区间为:若h1,h2,
……
,hn中的最大值小于或等于中的最小值,则将h1,h2,
……
,hn中的最大值作为区间下限,将中的最小值作为区间上限,获得目标列宽区间;若h1,h2,
……
,hn中的最大值大于中的最小值,则去除h1,h2,
……
,hn中的最大值和最小值,例如,h1,h2,
……
,hn中的最大值和最小值分别
为h1和h2,则去除h1和h2,计算得到目标列宽区间,如果h3,h4,
……
,hn中的最大值小于或等于中的最小值,则将h3,h4,
……
,hn中的最大值作为区间下限,将中的最小值作为区间上限,获得目标列宽区间,如果h3,h4,
……
,hn中的最大值仍大于中的最小值,则继续去除h3,h4,
……
,hn中的最大值和最小值,继续计算目标列宽区间,直至计算出的目标列宽区间中有值。
[0134]
作为一种可能的实施方式,为了使得表格中的单元格的行高、列宽的视觉展示效果更趋于均衡,还可按照如图4所示的流程执行步骤s21中确定满足调整条件的任一列的第一目标列宽的步骤,具体包括以下步骤:
[0135]
s41、分别为列中的各单元格设置各自对应的第一目标列宽参数。
[0136]
具体实施时,为了使得表格中的单元格的行高、列宽视觉展示效果更加趋于均衡,可以设计行高、列宽的调整规则满足如下关系:可使得该任一列中所有单元格的行高平均接近于第一倍率的列宽。例如,可使得表格中的单元格的行高、列宽视觉展示效果更加趋于黄金比率的视觉法则,第一倍率a1可以采用黄金分割比例,本公开实施例不限于此。在实施过程中,终端设备可以分别为该列中的各单元格设置各自对应的第一目标列宽参数:xi,i=1,2,
……
,n,xi表示列中的第i个单元格对应的第一目标列宽参数,n表示列中的单元格数量。
[0137]
s42、根据列中的各单元格各自对应的第一目标列宽参数和第一倍率,确定列中的各单元格各自对应的行高目标函数。
[0138]
具体实施时,可将以下公式确定为该列中的各单元格各自对应的行高目标函数:
[0139]hi
=a1*xi[0140]
其中,hi表示列中的第i个单元格对应的行高目标函数,i=1,2,
……
,n,n表示列中的单元格数量;
[0141]
a1表示第一倍率;
[0142]
xi表示列中的第i个单元格对应的第一目标列宽参数。
[0143]
s43、根据列中的各单元格包含的数据的面积和各自对应的行高目标函数,计算各自对应的第一目标列宽参数值。
[0144]
具体实施时,可以通过以下公式计算列中的各单元格各自对应的第一目标列宽参数值:
[0145][0146]
其中,xi表示列中的第i个单元格对应的第一目标列宽参数;
[0147]
si表示列中的第i个单元格包含的数据的面积;
[0148]
a1表示第一倍率。
[0149]
s44、根据各个第一目标列宽参数值确定列的第一目标列宽。
[0150]
具体实施时,可以将{xi}中的中位数确定为该列的第一目标列宽,还可以将{xi}中的每一单元格对应的第一目标列宽参数值按照大小顺序进行排列,将中位数该中位数左边预设数量的第一目标列宽参数值与该中位数右边预设数量的第一目标列宽参数值的均值作为该列的第一目标列宽,本公开实施例对此不作限定。其中,预设数量可以根据实际需要自行设定,例如可以设置为1,本公开实施例对此不作限定。
[0151]
需要说明的是,针对无数据内容的单元格,即数据的面积为0的单元格在计算时可忽略,计算出第一目标列宽后,此单元格的行高可直接展示为第一倍率的第一目标列宽,即此单元格的行高为:a1x。
[0152]
为了使得表格中的单元格的行高、列宽视觉展示效果更加趋于黄金比率的视觉法则,仍以第一倍率a1设置为0.618为例进行说明,假设待调整的一列包含n个单元格,已知各单元格1~n的行高分别为h1~hn,单元格1~n中包含的数据的面积分别为s1~sn,要使得该列中单元格1~n的行高平均接近于0.618x,分别为该列中的单元格1~n设置各自对应的第一目标列宽参数:x1~xn,设置单元格1~n各自对应的行高目标函数分别为:h1=0.618x1,h2=0.618x2,
……
,hn=0.618xn,进而,根据h1=0.618x1,可知则可计算出单元格1对应的第一目标列宽参数同理,根据h2=0.618x2,可计算出单元格2对应的第一目标列宽参数根据hn=0.618xn,可计算出单元格n对应的第一目标列宽参数进而,可以将单元格1~n各自对应的第一目标列宽参数集合{x1,x2,
……
,xn}中的中位数确定为该列的第一目标列宽,也就是将集合中的中位数确定为该列的第一目标列宽。
[0153]
作为一种可能的实施方式,为了使得表格中的单元格的行高、列宽的视觉展示效果更加趋于均衡,还可按照如图5所示的流程执行步骤s21中确定满足调整条件的任一列的第一目标列宽的步骤,具体包括以下步骤:
[0154]
s51、为列中的各单元格设置一个第二目标列宽参数。
[0155]
具体实施时,为了使得表格中的单元格的行高、列宽视觉展示效果更加趋于均衡,可以设计行高、列宽的调整规则满足如下关系:可使得该任一列中所有单元格的行高均无限接近于第一倍率的列宽,即使得该列中单元格的行高、列宽的视觉展示效果均无限趋于设定的比率。例如,可使得该任一列中所有单元格的行高、列宽的视觉展示效果均无限接近于黄金比率,第一倍率a1可以采用黄金分割比例,本公开实施例不限于此。在实施过程中,
终端设备为该待调整的任一列中的各单元格设置一个目标列宽参数:x,可记为第二目标列宽参数。
[0156]
s52、根据列中的各单元格包含的数据的面积、第二目标列宽参数和第一倍率,设置列对应的列宽目标函数。
[0157]
具体实施时,可以将以下公式设置为列对应的列宽目标函数:
[0158][0159]
其中,f(x)表示列对应的列宽目标函数;
[0160]
si表示列中的第i个单元格包含的数据的面积,i=1,2,
……
,n,n表示列中的单元格数量;
[0161]
x表示列中的各单元格的第二目标列宽参数;
[0162]
a1表示第一倍率。
[0163]
在具体实施过程中,待调整列中包含n个单元格,第二目标列宽参数为x,该列中单元格1~n中包含的数据的面积分别为s1~sn,要使得该列中单元格1~n的行高都趋近于第一倍率的列宽,则有:由于可推导出进而,可得出进而,可以得出:即:列对应的列宽目标函数
[0164]
s53、根据列宽目标函数计算获得列的第一目标列宽。
[0165]
具体实施时,终端设备计算列宽目标函数的最优解,将列宽目标函数的最优解确定为列的第一目标列宽。
[0166]
具体地,可通过以下方式计算列宽目标函数的最优解:
[0167][0168]
即:
[0169]
令则可表示为:即有:即有:
[0170]
进而,对求导可得:
[0171]
f’(x)=(-2bx-3
2na
12
x)x-1
=0;
[0172]
进一步推导可得2bx-4
=2na
12
,则可计算出其即为列宽目标函数的最优解。
[0173]
需要说明的是,针对无数据内容的单元格,即数据的面积为0的单元格在计算时可忽略,计算出第一目标列宽后,此单元格的行高可直接展示为第一倍率的第一目标列宽,即此单元格的行高为:a1x。
[0174]
为了使得表格中的单元格的行高、列宽视觉展示效果都无限趋于黄金比率,仍以第一倍率a1设置为0.618为例进行说明,假设待调整的一列包含n个单元格,已知各单元格1~n的行高分别为h1~hn,单元格1~n中包含的数据的面积分别为s1~sn,为各单元格1~n设置第二目标列宽参数x,要使得该列中单元格1~n的行高都趋近于0.618x,则有:由于可推导出可推导出进而,可得出进而,可得出进而,可以得出:以得出:即:列对应的列宽目标函数列宽目标函数进而,计算的最优解,可得:
[0175]
本公开中,由于考虑了面积和行高、列宽的关系,在保证表格中各单元格的数据可以得到均衡展示的同时,也使得各单元格中的数据可以得以完整展示,进一步提升了阅读效果。
[0176]
需要说明的是,本技术实施例中上述列举的各个实例中,a1、a2的取值(0.618和1)仅用于说明和解释本公开,并不用于限定本公开,a1、a2的设置需能够使得表格展示均衡,满足舒适的阅读效果即可,本公开实施例对此不作限定。
[0177]
本公开实施例中,基于行高、列宽的视觉展示效果趋于黄金比率的展示规则,实现对表格行高列宽同时进行自动自适应调整,在提高调整效率的同时,使得表格整体结构整齐有序,使表格中每一单元格中的数据内容均可得到均衡、完整的展示,能够使用户在使用和阅读表格时获得较佳的阅读体验。
[0178]
示例性设备
[0179]
基于同一发明构思,本公开实施例还提供了一种表格调整装置,由于上述表格调整装置解决问题的原理与表格调整方法相似,因此上述装置的实施可以参见方法的实施,
重复之处不再赘述。
[0180]
如图6所示,为本公开实施例提供的表格调整装置60的结构示意图。在一个实施例中,表格调整装置60包括:第一确定单元601、第二确定单元602、第三确定单元603和调整单元604。
[0181]
第一确定单元601,用于响应于监测到表格中任一列的列宽和所述列中单元格的行高满足调整条件,基于所述列中的各单元格的行高、所述列的列宽以及第一倍率,确定所述列的第一目标列宽;
[0182]
第二确定单元602,用于根据所述列中的各单元格包含的数据的面积和所述第一目标列宽,确定所述列中的各单元格各自对应的第一目标行高;
[0183]
第三确定单元603,用于根据所述列中的各单元格各自对应的第一目标行高以及所述列中的各单元格的行高,确定所述列中的各单元格各自对应的第二目标行高;
[0184]
调整单元604,用于将所述列的列宽调整为所述第一目标列宽,将所述列中的各单元格的行高调整为各自对应的所述第二目标行高。
[0185]
在一种可能的实施方式中,所述第一确定单元601,具体用于通过以下方式确定所述表格任一列的列宽和所述列中各单元格的行高满足调整条件:若所述列中的任一单元格的行高大于第二倍率的所述列的列宽,则确定所述列的列宽和所述列中单元格的行高满足调整条件;或者若所述列中的各单元格的行高的离散度大于或者等于预设阈值,则确定所述列的列宽和所述列中单元格的行高满足调整条件。
[0186]
在一种可能的实施方式中,所述第一确定单元601,具体用于根据所述列中的各单元格的行高和所述第一倍率,确定所述列中的各单元格各自对应的第二目标列宽,以及根据所述列中的各单元格的行高和第二倍率,确定所述列中的各单元格各自对应的第三目标列宽,其中,所述第二倍率大于所述第一倍率;响应于最大第三目标列宽小于或等于最小第二目标列宽,则根据所述最大第三目标列宽与所述最小第二目标列宽确定目标列宽区间;响应于最大第三目标列宽大于最小第二目标列宽,则根据任意两个所述第三目标列宽与所述最小第二目标列宽确定所述目标列宽区间;将所述目标列宽区间中任意值确定为所述列的第一目标列宽。
[0187]
在一种可能的实施方式中,所述第一确定单元601,具体用于分别为所述列中的各单元格设置各自对应的第一目标列宽参数;根据所述列中的各单元格各自对应的第一目标列宽参数和所述第一倍率,确定所述列中的各单元格各自对应的行高目标函数;根据所述列中的各单元格包含的数据的面积和各自对应的所述行高目标函数,计算各自对应的第一目标列宽参数值;根据各个所述第一目标列宽参数值确定所述列的第一目标列宽。
[0188]
在一种可能的实施方式中,所述第一确定单元601,具体用于将以下公式确定为所述列中的各单元格各自对应的行高目标函数:
[0189]hi
=a1*xi[0190]
其中,hi表示所述列中的第i个单元格对应的行高目标函数,i=1,2,
……
,n,n表示所述列中的单元格数量;
[0191]
a1表示所述第一倍率;
[0192]
xi表示所述列中的第i个单元格对应的第一目标列宽参数。
[0193]
在一种可能的实施方式中,所述第一确定单元601,具体用于通过以下公式计算所
述列中的各单元格各自对应的第一目标列宽参数值:
[0194][0195]
其中,xi表示所述列中的第i个单元格对应的第一目标列宽参数;
[0196]
si表示所述列中的第i个单元格包含的数据的面积。
[0197]
在一种可能的实施方式中,所述第一确定单元601,具体用于为所述列中的各单元格设置一个第二目标列宽参数;根据所述列中的各单元格包含的数据的面积、所述第二目标列宽参数和所述第一倍率,设置所述列对应的列宽目标函数;根据所述列宽目标函数计算获得所述列的第一目标列宽。
[0198]
在一种可能的实施方式中,所述第一确定单元601,具体用于将以下公式设置为所述列对应的列宽目标函数:
[0199][0200]
其中,f(x)表示所述列对应的列宽目标函数;
[0201]
si表示所述列中的第i个单元格包含的数据的面积,i=1,2,
……
,n,n表示所述列中的单元格数量;
[0202]
x表示所述列中的各单元格的第二目标列宽参数;
[0203]
a1表示所述第一倍率。
[0204]
在一种可能的实施方式中,所述第三确定单元603,具体用于针对所述列中的每一单元格,若确定所述单元格对应的第一目标行高大于或者等于所述单元格的行高,则将所述单元格对应的第一目标行高确定为所述单元格对应的第二目标行高;若确定所述单元格对应的第一目标行高小于所述单元格的行高,则将所述单元格的行高确定为所述单元格对应的第二目标行高。
[0205]
基于与上述表格调整方法相同的发明构思,本公开实施例还提供了一种电子设备70。如图7所示,该电子设备70可以包括处理器701和存储器702。
[0206]
处理器701可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本公开实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0207]
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可
擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本公开实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0208]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0209]
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0210]
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献