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

用于构建层级关系树的方法及装置、电子设备与流程

2022-11-16 07:25:22 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体涉及一种用于构建层级关系树的方法及装置、电子设备。


背景技术:

2.目前,excel作为最为熟知的数字办公软件之一,被大量用户作为构建生成html页面的载体,用excel文件生成html页面时需要描述网页布局的相对位置,这个过程需要生成excel中目标单元格与各区域组件所对应的层级关系树,再根据层级关系树来描述网页布局的相对位置。
3.在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
4.现有技术只能通过人工来构建目标单元格与各区域组件之间的层级关系树,构建层级关系树效率较低。


技术实现要素:

5.为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
6.本公开实施例提供了一种用于构建层级关系树的方法及装置、电子设备,以提高构建目标单元格与各区域组件之间的层级关系树的效率。
7.在一些实施例中,所述方法包括:获取excel文件中各区域组件的第一位置信息,在所述区域组件中确定目标单元格,获取所述目标单元格的第二位置信息;所述excel文件中包括多个区域组件;根据各所述第一位置信息获取各所述区域组件对应的区域范围大小;根据所述区域范围大小构建各所述区域组件之间的层级关系,根据所述第二位置信息获取所述目标单元格与各所述区域组件之间的第一位置关系;根据所述层级关系和所述第一位置关系构建各所述区域组件和所述目标单元格之间的第一层级关系树。
8.在一些实施例中,所述装置包括:处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行如前述内容所述的用于构建层级关系树的方法。
9.在一些实施例中,所述电子设备包括如前述内容所述的用于构建层级关系树的装置。
10.本公开实施例提供的用于构建层级关系树的方法及装置和电子设备,可以实现以下技术效果:通过获取excel文件中各区域组件的第一位置信息和目标单元格的第二位置信息,并根据各第一位置信息确定各区域组件对应的区域范围大小,并根据区域范围大小构建各区域组件之间的层级关系,根据第二位置信息获取目标单元格与各区域组件之间的第一位置关系;根据层级关系和第一位置关系构建各区域组件和所述目标单元格之间的第一层级关系树,提高构建各区域组件和目标单元格之间的第一层级关系树的效率。
11.以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。
附图说明
12.一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
13.图1是本公开实施例提供的一个用于构建层级关系树的方法的流程示意图;
14.图2是本公开实施例提供的一个excel文件中各区域组件的示意图;
15.图3是本公开实施例提供的一个第二层级关系树的结构示意图;
16.图4是本公开实施例提供的一个第一层级关系树的结构示意图;
17.图5是本公开实施例提供的一个用于构建层级关系树的装置的示意图。
具体实施方式
18.为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
19.本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
20.除非另有说明,术语“多个”表示两个或两个以上。
21.本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。
22.术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。
23.结合图1所示,本公开实施例提供一种用于构建层级关系树的方法,包括:
24.s01,获取excel文件中各区域组件的第一位置信息,在区域组件中确定目标单元格,获取目标单元格的第二位置信息;excel文件中包括多个区域组件。
25.s02,根据各第一位置信息获取各区域组件对应的区域范围大小。
26.s03,根据区域范围大小构建各区域组件之间的层级关系,根据第二位置信息获取目标单元格与各区域组件之间的第一位置关系。
27.s04,根据层级关系和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树。
28.采用本公开实施例提供的用于构建层级关系树的方法,通过获取excel文件中各区域组件的第一位置信息和从区域组件中确定出的目标单元格的第二位置信息,并根据各第一位置信息确定各区域组件对应的区域范围大小,并根据区域范围大小构建各区域组件之间的层级关系,根据第二位置信息获取目标单元格与各区域组件之间的第一位置关系;根据层级关系和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树,提高构建各区域组件和目标单元格之间的第一层级关系树的效率。
29.可选地,区域组件的第一位置信息包括区域组件的开始位置坐标和区域组件的结
束位置坐标;根据各第一位置信息获取各区域组件对应的区域范围大小,包括:将开始位置坐标和结束位置坐标所限定出的矩形区域确定为各区域组件对应的区域范围大小。
30.可选地,获取excel文件中各区域组件的第一位置信息包括:获取excel文件中的区域标签标识;excel文件中包括多个区域标签标识;区域标签标识包括类型信息和名称信息,或,区域标签标识包括结束标识和名称信息;将包括类型信息和名称信息的区域标签标识所对应的单元格坐标确定为开始位置坐标;将包括结束标识和名称信息的区域标签标识所对应的单元格坐标确定为结束位置坐标。
31.在一些实施例中,获取excel文件中的区域标签标识,将包括类型信息和名称信息的区域标签标识所对应的单元格坐标确定为开始位置坐标,将包括结束标识和名称信息的区域标签标识所对应的单元格坐标确定为结束位置坐标,开始位置坐标所对应的单元格中的名称信息与对应的结束位置坐标所对应的单元格中的名称信息相同,并将开始位置坐标和对应的结束位置坐标所限定出的矩形区域确定为各区域组件对应的区域范围大小。
32.相比与其他方式:例如逐行逐列读取excel文件中的区域组件的开始位置坐标或结束位置坐标,这种方式存在读取多个开始位置坐标后才能读取一个结束位置坐标的情况,在该种情况下,需要将读取的结束位置坐标与前述已获取的开始位置坐标进行匹配,从而确定区域组件对应的区域范围大小。本实施例能够更快的获取excel文件中的多个区域组件以及各区域组件所对应的区域范围大小。
33.可选地,获取目标单元格的第二位置信息,包括:获取目标单元格在excel文件中的行数和列数;根据目标单元格在excel文件中的行数和列数获取目标单元格的第二位置信息。
34.在一些实施例中,将目标单元格在excel文件中的行数确定为第二位置信息的横坐标,将目标单元格在excel文件中的列数确定为第二位置信息的纵坐标。
35.可选地,根据第二位置信息获取目标单元格与各区域组件之间的第一位置关系,包括:
36.在目标单元格的第二位置信息处于区域组件的区域范围内的情况下,确定目标单元格与各区域组件之间的第一位置关系为目标单元格属于区域组件;在目标单元格的第二位置信息不处于区域组件的区域范围内的情况下,确定目标单元格与各区域组件之间的第一位置关系为目标单元格不属于区域组件。
37.可选地,根据区域范围大小构建各区域组件之间的层级关系,包括:根据区域范围大小对区域组件进行排序,获得各区域组件之间的层级关系。
38.可选地,根据区域范围大小对区域组件进行排序获得各区域组件之间的层级关系,包括:将区域范围大小按照由大到小的顺序对区域组件进行排序,将排序结果确定为各区域组件之间的层级关系。
39.可选的,根据层级关系和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树,包括:根据各区域组件之间的层级关系,构建各区域组件之间的第二层级关系树;根据第二层级关系树和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树。
40.可选地,根据第二层级关系树和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树,包括:在第一位置关系为目标单元格属于区域组件的情况下,从目标单
元格所属的各区域组件中确定出区域范围最小的区域组件;在第二层级关系树中,将目标单元格确定为区域范围最小的区域组件的子节点,获得第一层级关系树。
41.可选的,根据各区域组件之间的层级关系,构建各区域组件之间的第二层级关系树,包括:根据各区域组件之间的层级关系判断区域组件两两之间是否存在包含关系,获得判断结果;根据各判断结果构建区域组件之间的第二层级关系树。
42.在判断结果为两个区域组件之间存在包含关系,例如:区域组件a包含于区域组件b的情况下,将区域组件a确定为区域组件b的子节点。
43.在一些实施例中,根据第二层级关系树,将第二层级关系树中距离树根最远的节点确定为获取第一位置关系的开始节点,在目标单元格的第二位置信息不属于本次节点中所对应的区域组件的情况下,判断目标单元格的第二位置信息是否属于本次节点的上一层级节点对应的区域组件,直到获得肯定的判断结果,结束本次判断流程,并将目标单元格确定为对应区域组件的一个子节点。获取目标单元格与各区域组件之间的第一层级关系树。
44.在一些实施例中,结合图2所示,获取excel文件中各区域组件的第一位置信息:
45.区域组件a:开始位置坐标(4,3)、结束位置坐标(10,9);
46.区域组件b:开始位置坐标(6,5)、结束位置坐标(8,7);
47.区域组件c:开始位置坐标(3,2)、结束位置坐标(11,10);
48.区域组件d:开始位置坐标(14,2)、结束位置坐标(16,4);
49.各区域组件之间的初始排列顺序为[a,b,c,d];根据各区域组件对应的区域范围大小对各区域组件按照由大到小的顺序进行排序获得各区域组件之间的层级关系;进行排序时,各区域组件两两之间进行比较,如:区域组件a与区域组件b进行比较,区域组件a的区域范围大小大于区域组件b的区域范围大小,维持区域组件a与区域组件b之间的排列顺序;区域组件a与区域组件c进行比较,区域组件a的区域范围大小小于区域组件c的区域范围大小,交换区域组件a与区域组件c的排列位置,此时各区域组件之间的排列顺序为[c,b,a,d],区域组件b与区域组件a进行比较,区域组件b的区域范围大小大于区域组件a的区域范围大小,交换区域组件b与区域组件a的排列位置,此时各区域组件之间的排列顺序为[c,a,b,d],区域组件a与区域组件d进行比较,区域组件a的区域范围大小大于区域组件d的区域范围大小,维持区域组件a与区域组件d之间的排列顺序,区域组件b与区域组件d进行比较,区域组件b的区域范围大小等于区域组件d的区域范围大小,维持区域组件b与区域组件d之间的排列顺序,最终各区域组件之间的排列顺序为[c,a,b,d],即各区域组件之间的层级关系确定为[c,a,b,d]。
[0050]
根据各区域组件之间的层级关系[c,a,b,d],判断各区域组件两两之间是否存在包含关系,获得判断结果;并根据各判断结果构建区域组件之间的第二层级关系树;首先判断区域组件c,由于区域组件c的区域范围最大,因此不可能包含于其他区域组件,所以将区域组件c确定为树根root的第一子节点,判断区域组件a和区域组件c是否存在包含关系,在区域组件a包含于区域组件c的情况下,将区域组件a确定为区域组件c的一个子节点;判断区域组件b与区域组件a是否存在包含关系,在区域组件b包含于区域组件a的的情况下,将区域组件b确定为区域组件a的一个子节点;判断区域组件d与区域组件b是否存在包含关系,区域组件d与区域组件b不存在包含关系的情况下,判断区域组件d与区域组件b的上一级对应的区域组件是否包含关系,即判断区域组件d与区域组件a是否存在包含关系,在区
域组件d与区域组件a不存在包含关系的情况下,继续判断区域组件d与区域组件a的上一级对应的区域组件是否存在包含关系,即判断区域组件d与区域组件c是否存在包含关系,在区域组件d与区域组件c不存在包含关系的情况下,由于区域组件c放置在树根的第一子节点上,因此确定区域组件d为区域组件c的同一层级,将区域组件d确定为树根的第二子节点。这样,构建出如图3所示的各区域组件之间的第二层级关系树。
[0051]
结合图2所示,获取目标单元格的第二位置信息,例如:
[0052]
目标单元格a的第二位置信息为(15,3);
[0053]
目标单元格b的第二位置信息为(7,6)。
[0054]
获取目标单元格a与区域组件b的第一位置关系,在目标单元格a的第二位置信息(15,3)不属于区域组件b的区域范围的情况下,获取目标单元格a与区域组件a的第一位置关系,在目标单元格a的第二位置信息(15,3)不属于区域组件a的区域范围的情况下,获取目标单元格a与区域组件c的第一位置关系,在目标单元格a的第二位置信息(15,3)不属于区域组件c的区域范围的情况下,获取目标单元格a与区域组件d的第一位置关系,在目标单元格a的第二位置信息(15,3)属于区域组件d的区域范围的情况下,确定区域组件d为目标单元格a对应的区域范围最小的区域组件,由于区域组件d没有子节点,结束本次判断流程,将目标单元格a确定为区域组件d的一个子节点。
[0055]
获取目标单元格b与区域组件b的第一位置关系,在目标单元格b的第二位置信息为(7,6)属于区域组件b的区域范围的情况下,确定区域组件b为目标单元格b对应的区域范围最小的区域组件,结束本次判断流程,将目标单元格b确定为区域组件b的一个子节点。这样构建出如图4所示的各区域组件和目标单元格之间的第一层级关系树。
[0056]
采用本实施例的用于构建层级关系树的方法,通过将第二层级关系树中距离树根最远的节点确定为判断的开始节点,根据到达树根的距离由远及近的判断目标单元格对应的区域范围最小的区域组件,能够更快的确定目标单元格对应的区域范围最小的区域组件,提高构建各区域组件和目标单元格之间的第一层级关系树的效率。
[0057]
在一些实施例中,结合图2所示,根据第二层级关系树和第一位置关系构建各区域组件和目标单元格之间的第一层级关系树。
[0058]
例如:
[0059]
目标单元格a的第二位置信息为(15,3);
[0060]
目标单元格b的第二位置信息为(7,6)。
[0061]
获取目标单元格a与区域组件c的第一位置关系,在目标单元格a的第二位置信息(15,3)不属于区域组件c的区域范围的情况下,获取目标单元格a与区域组件d的第一位置关系,在目标单元格a的第二位置信息(15,3)属于区域组件d的区域范围的情况下,确定区域组件d为目标单元格a对应的区域范围最小的区域组件,由于区域组件d没有子节点,因此结束本次判断流程,将目标单元格a确定为区域组件d的一个子节点。
[0062]
获取目标单元格b与区域组件c的第一位置关系,在目标单元格b的第二位置信息(7,6)属于区域组件c的区域范围的情况下,获取目标单元格b与区域组a的第一位置关系,在目标单元格b的第二位置信息(7,6)属于区域组件a的区域范围的情况下,获取目标单元格b与区域组件b的第一位置关系,在目标单元格b的第二位置信息(7,6)属于区域组件b的区域范围的情况下,确定区域组件b为目标单元格b对应的区域范围最小的区域组件,由于
区域组件b没有子节点,结束本次判断流程,将目标单元格b确定为区域组件b的一个子节点。这样构建出如图4所示的各区域组件和目标单元格之间的第一层级关系树。
[0063]
结合图5所示,本公开实施例提供一种用于构建层级关系树的装置,包括处理器(processor)100和存储有程序指令的存储器(memory)101,可选地,该装置还可以包括通信接口(communication interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于构建层级关系树的方法。
[0064]
此外,上述的存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0065]
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于构建层级关系树的方法。
[0066]
存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。
[0067]
本公开实施例提供的一种用于构建层级关系树的装置通过获取excel文件中各区域组件的第一位置信息和从区域组件中确定出的目标单元格的第二位置信息,并根据各第一位置信息确定各区域组件对应的区域范围大小,并根据区域范围大小构建各区域组件之间的层级关系,并根据层级关系和第二位置信息自动构建各区域组件和目标单元格之间的第一层级关系树,提高构建各区域组件和目标单元格之间的第一层级关系树的效率。
[0068]
本公开实施例提供了一种电子设备,包含上述的用于构建层级关系树的装置。本公开实施例提供的一种电子设备通过获取excel文件中各区域组件的第一位置信息和从区域组件中确定出的目标单元格的第二位置信息,并根据各第一位置信息确定各区域组件对应的区域范围大小,并根据区域范围大小构建各区域组件之间的层级关系,并根据层级关系和第二位置信息自动构建各区域组件和目标单元格之间的第一层级关系树,提高构建各区域组件和目标单元格之间的第一层级关系树的效率。
[0069]
可选地,电子设备包括:计算机、智能手机等。
[0070]
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行上述用于构建层级关系树的方法。
[0071]
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于构建层级关系树的方法。
[0072]
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
[0073]
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随
机存取存储器(ram,random access memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0074]
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
[0075]
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0076]
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0077]
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以
不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献