一种表格转换方法、装置及设备与流程

文档序号:28598913发布日期:2022-01-22 10:55阅读:65来源:国知局
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.图1为本技术实施例提供的一种场景示例的示意图;49.图2为本技术实施例提供的一种表格转换方法的流程图;50.图3a为本技术实施例提供的第一类型表格的示意图;51.图3b为本技术实施例提供的最小单元格的示意图;52.图3c为本技术实施例提供的最小单元格和单元格的关系示意图;53.图3d为本技术实施例提供的基础单元格和单元格的关系示意图;54.图4为本技术实施例提供的另一种表格转换方法的流程图;55.图5为本技术实施例提供的另一种场景示例的示意图;56.图6为本技术实施例提供的一种表格转换装置的结构示意图。具体实施方式57.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术实施例作进一步详细的说明。58.为了便于理解和解释本技术实施例提供的技术方案,下面对本技术实施例的
背景技术
:进行说明。59.表格,既是一种可视化交流工具,又是一种数据整理的手段。表格在通讯交流和数据分析等应用场景中应用广泛。表格类型多种多样,例如包括文档类型表格和网页类型表格等类型。文档类型表格例如为excel表格,网页类型表格例如为web表格。其中,web表格是通过html(hypertextmarkuplanguage,超文本标记语言)标签和css(cascadingstylesheets,层叠样式表)样式的方式进行绘制的一种表格类型。60.在不同应用场景中使用的表格类型可能不同。例如,在第一应用场景中,需要使用excel表格,在第二应用场景中,需要使用web表格。或者,已生成一种类型的表格,而用户需要的是另一种类型的表格。例如,已生成了excel表格,但是用户需要的是web表格形式。61.此时,需要根据用户需求,将已生成的一种类型的表格转换成另一种类型的表格来进行使用,例如,将已存在的excel表格转化为web表格。通过表格转换的方式可避免重新编辑表格带来的人工成本,提升用户体验。62.目前,表格转换后,会出现转换得到的表格对原表格的还原度低的情况。例如,由于excel表格功能通常较为复杂,存在excel表格转换为web表格后,web表格对excel表格还原度较低的情况。又例,web表格转换为excel表格后,也存在excel表格对web表格的还原度低的情况。因此,如何提供一种对原表格还原度高的表格转换方法是亟待解决的问题。63.基于此,本技术实施例提供了一种表格转换方法、装置及设备。为了便于理解本技术实施例提供的表格转换方法,下面将结合图1所示的场景示例进行说明。其中,图1为本技术实施例提供的一种场景示例的示意图。该方法可以应用于终端设备101中。64.在实际应用中,终端设备101获取第一类型表格。基于第一类型表格,确定第一类型表格包括的基础单元格。针对每个基础单元格,识别基础单元格的边线,生成基础单元格的边线矩阵。边线矩阵中的各个元素表征基础单元格的各条边是否存在边线。针对每个基础单元格,识别基础单元格中的单元格内容。其中,单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。65.则,所有基础单元格的边线矩阵和单元格内容能表征第一类型表格的完整信息。基于每个基础单元格的边线矩阵和单元格内容,生成第一类型表格对应的第二类型表格。从而可以得到对第一类型表格还原度较高的第二类型表格。66.本领域技术人员可以理解,图1所示的框架示意图仅是本技术的实施方式可以在其中得以实现的一个示例。本技术实施方式的适用范围不受到该框架任何方面的限制。67.基于上述说明,下面将结合附图对本技术实施例提供的表格转换方法进行详细说明。68.参见图2,图2为本技术实施例提供的一种表格转换方法的流程图。如图2所示,该表格转换方法包括s201-s204:69.s201:确定第一类型表格包括的基础单元格。70.在本技术实施例中,第一类型表格为已经生成的且在表格转换操作中被转换的表格。需要说明的是,第一类型表格根据实际应用场景的实际需求进行确定,这里不限定第一类型表格的具体类型。71.作为一种示例,第一类型表格为文档类型表格。作为另一种示例,第一类型表格为网页类型表格。72.可以理解的是,通常,未经过单元格合并处理过的表格由至少一个最小单元格组成,最小单元格为用于表示未经过单元格合并处理过的表格的一个基本单位。当多个最小单元格合并后,合并单元格由多个最小单元格组成。此时,表格中的单元格可能为最小单元格,可能为合并单元格。73.需要说明的是,类似地,基础单元格可看作是一种用于表示第一类型表格的一个基本单位。第一类型表格由至少一个基础单元格组成。在本技术实施例中,基础单元格可能为最小单元格,可能为合并单元格,也可能为由多个最小单元格组成的单元格且多个基础单元格能够构成一个合并单元格。并且,不同类型的表格所包括的基础单元格不同。74.在一种可能的实现方式中,当第一类型表格为文档类型表格时,本技术实施例提供了一种确定第一类型表格包括的基础单元格的具体实施方式,具体请参见下文a1-a4。75.在一种可能的实现方式中,当第一类型表格为网页类型表格时,本技术实施例提供了一种确定第一类型表格包括的基础单元格的具体实施方式,具体请参见下文b1-b2。76.s202:识别基础单元格的边线,生成每个基础单元格的边线矩阵,边线矩阵中的各个元素表征基础单元格的各条边是否存在边线。77.确定第一类型表格包括的基础单元格后,识别每个基础单元格的边线,生成每个基础单元格的边线矩阵。边线矩阵用于表示基础单元格的边线设置情况。边线矩阵中的各个元素表征基础单元格的各条边是否存在边线。78.其中,每个基础单元格包括上下左右四条边。作为一种示例,边线矩阵为2*2矩阵,2*2矩阵中的四个元素分别表征基础单元格的四条边是否存在边线。作为一种示例,在识别基础单元格边线时,当基础单元格的边存在边线时,记为1,不存在边线时,记为0。79.需要说明的是,边线矩阵中的元素具体代表的边可根据实际需要进行确定,这里对其不进行限定。例如,若边线矩阵a为[a11a12;a21a22]。其中,a11、a12、a21、a22可分别代表基础单元格的上、右、左、下四条边是否存在边线。若均为1,则表示基础单元格的四条边均有边线。[0080]s203:识别每个基础单元格的单元格内容,单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。[0081]在确定第一类型表格包括的基础单元格后,识别每个基础单元格的单元格内容。其中,单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。[0082]单元格填充内容为单元格内的显示内容。例如,单元格内显示内容为“学生”,则单元格填充内容为“学生”。[0083]单元格类型可为文本、数值、日期、时间等多种类型中的一种。[0084]作为一种示例,每个基础单元格的单元格内容可由数组进行表示。例如,[length:1;height:1;text:姓名;type:文本],其中length表示单元格长度,“length:1”表示单元格长度为1。height表示单元格宽度,“height:1”表示单元格宽度为1。text表示单元格填充内容,“text:姓名”表示单元格填充内容为“姓名”。type表示单元格类型,“type:文本”表示单元格类型为文本类型。[0085]可以理解的是,存在第一类型表格中的一个单元格是由多个基础单元格组成的情况。此时,由于单元格中的显示内容仅有一种,则多个基础单元格的单元格填充内容是相同的,且均为单元格所显示的内容。[0086]需要说明的是,本技术实施例不限定s202和s203的执行顺序。在一种可能的实现方式中,可以同时执行s202和s203,也可以先执行s203,再执行s202。[0087]s204:根据每个基础单元格的边线矩阵以及单元格内容,生成第一类型表格对应的第二类型表格。[0088]基础单元格的边线矩阵以及单元格内容能够表征基础单元格的信息,所有基础单元格的边线矩阵和单元格内容则能够表示第一类型表格的完整信息。[0089]第二类型表格和第一类型表格的类型不同,且为表格转换操作中转换后的表格。由于第一类型表格和第二类型表格所包含的完整信息是相同的,则在获取第一类型表格所包括的所有基础单元格的边线矩阵和单元格内容后,可基于所有基础单元格的边线矩阵和单元格内容,生成第二类型表格。而且根据每个基础单元格的边线矩阵以及单元格内容生成的第二类型表格对第一类型表格的还原度是较高的。[0090]基于上述s201-s204的内容可知,先确定第一类型表格包括的基础单元格。再识别每个基础单元格的边线,生成每个基础单元格的边线矩阵。并识别每个基础单元格的单元格内容。其中,边线矩阵中的各个元素表征基础单元格的各条边是否存在边线。单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。由此,基于每个基础单元格的边线矩阵和单元格内容,记录了第一类型表格完整且详细的信息。第一类型表格完整且详细的信息通过每个基础单元格的边线矩阵和单元格内容体现。之后,根据每个基础单元格的边线矩阵以及单元格内容,便可生成第一类型表格对应的第二类型表格。本技术实施例中,确定第一类型表格包括的基础单元格,根据每个基础单元格的边线矩阵以及单元格内容,能够确定第一类型表格完整且详细的信息。则根据每个基础单元格的边线矩阵以及单元格内容生成的第二类型表格对第一类型表格的还原度是较高的。[0091]由于第一类型表格可能是文档类型表格,针对文档类型表格,文档类型表格包括的基础单元格的确定方式可能与其他方式不同。[0092]基于此,在一种可能的实现方式中,当第一类型表格为文档类型表格时,本技术实施例提供了一种s201中确定第一类型表格包括的基础单元格的具体实施方式,如下:[0093]a1:获取第一类型表格的目标单元格的单元格合并信息,单元格合并信息标识目标单元格是由第一数值乘以第二数值个最小单元格组成的,其中,第一数值为组成目标单元格的最小单元格的行数量,第二数值为组成目标单元格的最小单元格的列数量,第一数值以及第二数值为正整数;目标单元格分别为第一类型表格的每一单元格。[0094]通过图3a-图3d所展示的可选示例对a1-a4进行说明。[0095]参见图3a,图3a为本技术实施例提供的第一类型表格的示意图。如图3a所示的第一类型表格包括四个单元格,分别为单元格1、单元格2、单元格3和单元格4。可以理解的是,单元格1、单元格2、单元格3和单元格4可以分别作为目标单元格。[0096]获取第一类型表格的目标单元格的单元格合并信息。作为一种示例,从获取的单元格合并信息中得知,如图3a所示的第一类型表格中的目标单元格均由最小单元格合并而成,即均为合并单元格。参见图3b,图3b为本技术实施例提供的最小单元格的示意图。如图3b所示,最小单元格为单元格5所示的单元格。[0097]参见图3c,图3c为本技术实施例提供的最小单元格和单元格的关系示意图。在实际应用中,由单元格合并信息可准确得知目标单元格的单元格合并信息,即目标单元格是由第一数值乘以第二数值个最小单元格组成的。为了便于理解,通过图3c进行描述。由图3c可直观地得知,目标单元格1由两个最小单元格合并而成。目标单元格2由四个最小单元格合并而成。目标单元格3由四个最小单元格合并而成。目标单元格4由八个最小单元格合并而成。由于第一数值为组成目标单元格的最小单元格的行数量,第二数值为组成目标单元格的最小单元格的列数量。则目标单元格1对应的第一数值为1,第二数据为2,即目标单元格1为1行单元格和2列单元格组成的,包括1*2个最小单元格。对应地,目标单元格2对应的第一数值为1,第二数据为4,包括1*4个最小单元格。目标单元格3对应的第一数值为2,第二数据为2,包括2*2个最小单元格。目标单元格4对应的第一数值为2,第二数据为4,包括2*4个最小单元格。[0098]在实际应用中,可由读取表格信息的工具类获取第一类型表格的目标单元格的单元格合并信息。[0099]a2:计算第一类型表格的各个单元格对应的第一数值的最大公约数,得到第三数值。[0100]根据a1中的示例可知,单元格1、单元格2、单元格3和单元格4对应的第一数值分别为1、1、2、2。则第一数值的最大公约数,即第三数值为1。[0101]a3:计算第一类型表格的各个单元格对应的第二数值的最大公约数,得到第四数值。[0102]根据a1中的示例可知,单元格1、单元格2、单元格3和单元格4对应的第二数值分别为2、4、2、4。则第二数值的最大公约数,即第四数值为2。[0103]a4:将第一类型表格中由第三数值乘以第四数值个最小单元格组成的部分确定为基础单元格。[0104]可以理解的是,第三数值为组成基础单元格的最小单元格的行数量。第四数值为组成基础单元格的最小单元格的列数量。[0105]根据a1-a3中的所示示例可知,第三数值为1,第四数值为2。则第一类型表格所包括的基础单元格为1*2个最小单元格组成的部分。参见图3d,图3d为本技术实施例提供的基础单元格和单元格的关系示意图。如图3d可知,基础单元格为单元格6所示的单元格。[0106]可以理解的是,单元格1即为一个基础单元格。单元格2包括两个基础单元格,单元格3包括2个基础单元格,单元格4包括4个基础单元格。[0107]基于a1-a4可知,当第一类型表格为文档类型表格时,通过获知单元格合并信息,可知第一类型表格中的单元格由第一数值乘以第二数值个最小单元格组成,由此,通过求取各个单元格的第一数值的公约数获取第三数值,通过求取各个第二数值的公约数获取第四数值。通过第三数值和第四数值的乘积,确定基础单元格。由于基础单元格的个数是通过最大公约数获取的,基于最大公约数的性质,使得获得的基础单元格能够表征每个单元格,即每个单元格均能通过至少一个基础单元格进行表示。[0108]基于a1-a4的内容,在一种可能的实现方式中,当第一类型表格为文档类型表格时,本技术实施例提供了一种s202中识别基础单元格的边线,生成每个基础单元格的边线矩阵的具体实施方式,如下:[0109]a5:当第一类型表格为文档类型表格,根据目标基础单元格所属单元格的单元格合并信息,确定目标基础单元格的各条边是否存在边线。[0110]在实际应用中,获取目标基础单元格所属单元格的单元格合并信息后,由于单元格合并会会导致原有的一些边线消失,则可通过单元格合并信息确定目标基础单元格的各条边是否存在边线。[0111]目标基础单元格分别为基础单元格中的每一个,例如,目标基础单元格为图3d中的基础单元格6,其所述单元格即为图3d中的单元格1,则获取单元格1的单元格合并信息后,便可直接确定目标基础单元格的各条边是否存在边线。[0112]可以理解的是,由于单元格合并信息可以体现单元格是否为合并单元格,单元格在合并过程中,会使一些边线的消失。则通过目标基础单元格所属单元格的单元格合并信息确定目标基础单元格的各条边是否存在边线的过程是更加准确的,可更加准确地得知基础单元格无边线是否是因为合并单元格造成的。[0113]a6:根据目标基础单元格的各条边是否存在边线,生成目标基础单元格的边线矩阵;目标基础单元格分别为基础单元格中的每一个。[0114]基于目标基础单元格的各条边是否存在边线,确定边线矩阵中的各个元素,进而生成边线矩阵。[0115]基于a5-a6可知,当第一类型表格为文档类型表格时,可在确定第一类型表格所包括的基础单元格后,根据基础单元格所属单元格的单元格合并信息,确定基础单元格的边线矩阵。[0116]由于第一类型表格可能是网页类型表格,针对网页类型表格,网页类型表格包括的基础单元格的确定方式可能与其他方式不同。[0117]基于此,在一种可能的实现方式中,当第一类型表格为网页类型表格时,本技术实施例提供了另一种s201中确定第一类型表格包括的基础单元格的具体实施方式,如下:[0118]b1:获取第一类型表格的网页标签以及网页样式,根据网页标签以及网页样式确定第一类型表格包括的单元格。[0119]当第一类型表格为网页类型表格时,网页类型表格有对应的网页标签以及网页样式。例如,若网页类型表格为web表格时,其对应的网页标签为html标签,对应的网页样式为css样式。html标签包括table、tr、td和th等标签。其中,table表示表格。tr表示表格的行,td和th表示表格的列。每个标签均有各自的标签属性。例如,table标签中的width属性用于表示表格的宽度,table标签中的height属性用于表示表格的高度,table标签中的border属性用于表示表格的边框像素值。tr标签的height属性用于表示行高。css为一种标记性语言,可用于设置网页类型表格的样式,该样式即为css样式。[0120]通过网页标签和网页样式,即可获取网页类型表格包括的单元格及单元格的相关信息,如高度、宽度等。[0121]b2:将第一类型表格包括的单元格确定为第一类型表格包括的基础单元格。[0122]可以理解的是,第一类型表格中的一个单元格可作为一个基础单元格。[0123]基于b1-b2的内容,在一种可能的实现方式中,当第一类型表格为网页类型表格时,本技术实施例提供了另一种s202中识别基础单元格的边线,生成每个基础单元格的边线矩阵的具体实施方式,如下:[0124]b3:当第一类型表格为网页类型表格,根据第一类型表格的网页标签以及网页样式,确定每个基础单元格的各条边是否存在边线。[0125]由于第一类型表格的网页标签以及网页样式包含了表格的相关信息,如宽度、高度、边框等,在获取第一类型表格的网页标签以及网页样式后,便可通过分析第一类型表格的网页标签以及网页样式,确定每个基础单元格的各条边是否存在边线。[0126]b4:根据每个基础单元格的各条边是否存在边线,生成每个基础单元格的边线矩阵。[0127]基于基础单元格的各条边是否存在边线,确定边线矩阵中的各个元素,进而生成边线矩阵。[0128]基于b1-b4可知,当第一类型表格为网页类型表格时,可根据第一类型表格的网页标签以及网页样式确定第一类型表格所包括的基础单元格,同时还可以确定每个基础单元格的各条边是否存在边线,进而确定基础单元格的边线矩阵。[0129]在进行表格转换的过程中,获取第一类型单元格对应的边线矩阵和单元格内容后,需要将第一类型单元格对应的边线矩阵和单元格内容进行存储。当需要转换的表格数量多时,则需要考虑存储空间问题。为了减少存储空间,结合图4,本技术实施例提供了另一种表格转换方法。[0130]参见图4,图4为本技术实施例提供的另一种表格转换方法的流程图。如图4所示,除了上述方法实施例中的s201-s203,该方法包括s401-s407:[0131]s401:将全部基础单元格的边线矩阵合并为边线总矩阵。[0132]在获取第一类型表格对应的全部基础单元格的边线矩阵后,将全部基础单元格的边线矩阵合并为边线总矩阵。边线总矩阵中的每个元素代表一个基础单元格的边线矩阵。则通过边线总矩阵能够得知第一类型表格中的所有边的边线情况。[0133]可以理解的是,若基础单元格的边线矩阵的维数为2*2。第一类型表格为m*n的表格,表示第一类型表格为m行、n列的表格。则边线总矩阵的维数为2m*2n。[0134]s402:由边线总矩阵生成竖边矩阵以及横边矩阵,竖边矩阵中的各个元素表征全部基础单元格包括的各条竖边是否存在边线,横边矩阵中的各个元素表征全部基础单元格包括的各条横边是否存在边线。[0135]在获取边线总矩阵后,由边线总矩阵生成竖边矩阵以及横边矩阵。即利用竖边矩阵以及横边矩阵来表示边线总矩阵。竖边矩阵中的各个元素表征全部基础单元格包括的各条竖边是否存在边线,横边矩阵中的各个元素表征全部基础单元格包括的各条横边是否存在边线。[0136]需要说明的是,竖边矩阵以及横边矩阵的维数分别为(m+1)*n和m*(n+1)。[0137]s403:将每个基础单元格的单元格内容组成内容矩阵。[0138]获取每个基础单元格的单元格内容后,组成内容矩阵。内容矩阵中的一个元素代表了一个基础单元格的单元格内容。[0139]需要说明的是,本技术实施例不限定s401-s402和s403的执行顺序。在一种可能的实现方式中,可以同时执行s401-s402和s403,也可以先执行s403,再执行s401-s402。[0140]根据竖边矩阵和横边矩阵的维数可知,竖边矩阵和横边矩阵所包含的元素总个数小于边线总矩阵所包含的元素个数,则在实际应用中,通过保存竖边矩阵以及横边矩阵代替保存边线总矩阵,减小了存储空间。[0141]s404:根据竖边矩阵、横边矩阵还原边线总矩阵。[0142]在实际应用中,保存竖边矩阵、横边矩阵和内容矩阵能减小存储空间。而在转换成第二类型表格时,需要将竖边矩阵、横边矩阵还原成边线总矩阵。[0143]s405:根据边线总矩阵确定每个基础单元格的各条边是否存在边线。[0144]由于边线总矩阵表征了第一类型表格中的所有边的边线情况。则根据边线总矩阵能够确定每个基础单元格的各条边是否存在边线。[0145]s406:从内容矩阵中读取每个基础单元格的单元格内容。[0146]由于内容矩阵中的一个元素代表了一个基础单元格的单元格内容。则可从内容矩阵中读取每个基础单元格的单元格内容。[0147]s407:根据每个基础单元格的各条边是否存在边线以及每个基础单元格的单元格内容,生成第一类型表格对应的第二类型表格。[0148]可以理解的是,s404-s407为在s401-s403基础上的s204的一种具体实施方式。即是通过竖边矩阵、横边矩阵和内容矩阵获取每个基础单元格的各条边是否存在边线以及每个基础单元格的单元格内容,进而生成第一类型表格对应的第二类型表格的。[0149]需要说明的是,本技术实施例不限定s405-s406和s407的执行顺序。在一种可能的实现方式中,可以同时执行s405-s406和s407,也可以先执行s407,再执行s405-s406。[0150]为了进一步减少竖边矩阵、横边矩阵以及内容矩阵所需的存储空间,可在s401-s403之后,执行步骤c1-c3,然后再继续执行s404。[0151]c1:将竖边矩阵、横边矩阵以及内容矩阵进行压缩,生成压缩数据。[0152]c2:对压缩数据进行存储。[0153]c3:将压缩数据进行解压,得到竖边矩阵、横边矩阵以及内容矩阵。[0154]基于c1-c3可知,对竖边矩阵、横边矩阵以及内容矩阵进行压缩后再存储,可进一步减少所需的存储空间。当使用竖边矩阵、横边矩阵以及内容矩阵时,再对压缩后的数据进行解压即可。[0155]参见图5,图5为本技术实施例提供的本技术实施例提供的另一种场景示例的示意图。[0156]在该示例性场景中,第一类型表格为文档类型表格中的excel表格。第二类型表格为网页类型表格中的web表格。表格转换为将excel表格转换为web表格。[0157]如图5所示,获取excel表格,其为2*3的表格,代表2行,3列。excel表格共有5个单元格,分别填充有“姓名”、“小明”、“小红”、“年龄”和“20”。[0158]进一步,获取excel表格中每一个单元格的单元格合并信息。根据单元格合并信息得知,填充有“20”的单元格为一个合并单元格,其对应的第一数值和第二数值分别为1和2。其余单元格对应的第一数值和第二数值均为1。求取所有单元格的第一数值的公约数,求取所有单元格的第二数值的公约数。则可知excel表格所包含的基础单元格对应的第三数值和第四数值均为1。则填充有“姓名”、“小明”、“小红”、“年龄”的单元格均为基础单元格,填充有“20”的单元格包括两个基础单元格。可以理解的是,在该示例中,基础单元格即为最小单元格。[0159]进而,根据excel表格中每一个单元格的单元格合并信息获取基础单元格的各条边是否存在边线,生成基础单元格的边线矩阵。填充有“姓名”、“小明”、“小红”、“年龄”的4个基础单元格和填充有“20”的2个基础单元格,分别对应的边线矩阵为:[0160][0161]其中,边线矩阵中的元素按照顺时针方向排列,分别代表基础单元格的上、右、下、左四条边是否存在边线。“1”表示存在边线,“0”表示不存在边线。[0162]同时,识别每个基础单元格的单元格内容。单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。填充有“姓名”的基础单元格的单元格内容为[length:2;height:1;text:姓名;type:文本]。填充有“小明”的基础单元格的单元格内容为[length:2;height:1;text:小明;type:文本]。填充有“小红”的基础单元格的单元格内容为[length:2;height:1;text:小红;type:文本]。填充有“年龄”的基础单元格的单元格内容为[length:2;height:1;text:年龄;type:文本]。填充有“20”的2个基础单元格的单元格内容均为[length:2;height:1;text:20;type:数值]。[0163]基于每个基础单元格的边线矩阵和单元格内容,生成边线总矩阵a和内容矩阵b。则边线总矩阵a和内容矩阵b分别为:[0164][0165]其中,边线总矩阵a的第一行、第一列的元素为填充有“姓名”的基础单元格的边线矩阵。相应地,其余元素分别对应其余基础单元格的边线矩阵。[0166]b11为[length:2;height:1;text:姓名;type:文本]。b12为[length:2;height:1;text:小明;type:文本]。b13为[length:2;height:1;text:小红;type:文本]。b21为[length:2;height:1;text:年龄;type:文本]。b22和b23均为[length:2;height:1;text:20;type:数值]。可知,矩阵a的维数为4*6,矩阵b的维数为2*3。[0167]根据边线总矩阵a生成竖边矩阵a1、横边矩阵a2。竖边矩阵中的各个元素表征全部基础单元格包括的各条竖边是否存在边线,横边矩阵中的各个元素表征全部基础单元格包括的各条横边是否存在边线。矩阵b不变。则竖边矩阵a1、横边矩阵a2、矩阵b分别为:[0168][0169]其中,a1中的第一行元素分别代表excel表格中第一行表格四条竖边是否存在边线,a1中的第二行元素分别代表excel表格中第二行表格四条竖边是否存在边线。例如,a1中第二行第三列的元素为0,其代表excel表格中填充“20”的两个基础单元格中的左侧基础单元格的右边边线为0,也即右侧基础单元格的左边边线为0。[0170]竖边矩阵a1的维数为2*4,横边矩阵a2的维数为3*3。可知,相比于直接将边线总矩阵a和内容矩阵b存储,将竖边矩阵a1、横边矩阵a2和矩阵b进行存储所用的存储空间是相对较小的。为了进一步减小存储空间,可将竖边矩阵a1、横边矩阵a2和矩阵b进行压缩后再存储。当需要转换为web表格时,对压缩数据进行解压即可获得竖边矩阵a1、横边矩阵a2和矩阵b。[0171]需要转换为web表格时,从存储空间获取竖边矩阵a1、横边矩阵a2和矩阵b,将竖边矩阵a1、横边矩阵a2还原为边线总矩阵a。再根据边线总矩阵确定每个基础单元格的各条边是否存在边线,根据内容矩阵中读取每个基础单元格的单元格内容,进而生成web表格。[0172]可以理解的是,excel表格和web表格所包括的完整信息是相同的,完整信息通过边线总矩阵a和内容矩阵b体现,也可以通过竖边矩阵a1、横边矩阵a2和矩阵b体现。[0173]本技术实施例中,确定excel表格包括的基础单元格。根据每个基础单元格的边线矩阵生成边线总矩阵,进而通过边线总矩阵生成竖边矩阵和横边矩阵。根据每个基础单元格的单元格内容生成内容矩阵。存储竖边矩阵、横边矩阵和内容矩阵所需的存储空间较小。基于存储的竖边矩阵、横边矩阵和内容矩阵可确定web表格。根据每个基础单元格的边线矩阵以及单元格内容生成的web表格对excel表格的还原度是较高的。[0174]基于上述方法实施例提供的表格转换方法,本技术实施例还提供了一种表格转换装置。下面将结合附图对本技术实施例提供的表格转换装置进行说明。本技术实施例提供的表格转换装置的技术详情可参考上述表格转换方法实施例。[0175]参见图6,图6为本技术实施例提供的一种表格转换装置的结构示意图。如图6所示,该表格转换装置包括:[0176]确定单元601,用于确定第一类型表格包括的基础单元格;[0177]第一识别单元602,用于识别所述基础单元格的边线,生成每个所述基础单元格的边线矩阵,所述边线矩阵中的各个元素表征所述基础单元格的各条边是否存在边线;[0178]第二识别单元603,用于识别每个所述基础单元格的单元格内容,所述单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型;[0179]第一生成单元604,用于根据每个所述基础单元格的边线矩阵以及单元格内容,生成所述第一类型表格对应的第二类型表格。[0180]在一种可能的实现方式中,所述装置还包括:[0181]合并单元,用于将全部所述基础单元格的边线矩阵合并为边线总矩阵;[0182]第二生成单元,用于由所述边线总矩阵生成竖边矩阵以及横边矩阵,所述竖边矩阵中的各个元素表征全部所述基础单元格包括的各条竖边是否存在边线,所述横边矩阵中的各个元素表征全部所述基础单元格包括的各条横边是否存在边线;[0183]组成单元,用于将每个所述基础单元格的单元格内容组成内容矩阵。[0184]在一种可能的实现方式中,所述装置还包括:[0185]压缩单元,用于将所述竖边矩阵、所述横边矩阵以及所述内容矩阵进行压缩,生成压缩数据;[0186]存储单元,用于对所述压缩数据进行存储。[0187]在一种可能的实现方式中,所述装置还包括:[0188]解压单元,用于将所述压缩数据进行解压,得到所述竖边矩阵、所述横边矩阵以及所述内容矩阵。[0189]在一种可能的实现方式中,所述第一生成单元604,包括:[0190]还原子单元,用于根据所述竖边矩阵、所述横边矩阵还原所述边线总矩阵;[0191]第一确定子单元,用于根据所述边线总矩阵确定每个所述基础单元格的各条边是否存在边线;[0192]读取子单元,用于从所述内容矩阵中读取每个所述基础单元格的单元格内容;[0193]第一生成子单元,用于根据每个所述基础单元格的各条边是否存在边线以及每个所述基础单元格的单元格内容,生成所述第一类型表格对应的第二类型表格。[0194]在一种可能的实现方式中,当所述第一类型表格为文档类型表格,所述确定单元601,包括:[0195]第一获取子单元,用于获取第一类型表格的目标单元格的单元格合并信息,所述单元格合并信息标识所述目标单元格是由第一数值乘以第二数值个最小单元格组成的,其中,所述第一数值为组成所述目标单元格的最小单元格的行数量,所述第二数值为组成所述目标单元格的最小单元格的列数量,所述第一数值以及所述第二数值为正整数;所述目标单元格分别为所述第一类型表格的每一单元格;[0196]第一计算子单元,用于计算所述第一类型表格的各个单元格对应的第一数值的最大公约数,得到第三数值;[0197]第二计算子单元,用于计算所述第一类型表格的各个单元格对应的第二数值的最大公约数,得到第四数值;[0198]第二确定子单元,用于将所述第一类型表格中由所述第三数值乘以所述第四数值个最小单元格组成的部分确定为基础单元格。[0199]在一种可能的实现方式中,当所述第一类型表格为网页类型表格,所述确定单元601,包括:[0200]第二获取子单元,用于获取第一类型表格的网页标签以及网页样式,根据所述网页标签以及网页样式确定所述第一类型表格包括的单元格;[0201]第三确定子单元,用于将所述第一类型表格包括的单元格确定为所述第一类型表格包括的基础单元格。[0202]在一种可能的实现方式中,所述第一识别单元602,包括:[0203]第四确定子单元,用于当所述第一类型表格为文档类型表格,根据目标基础单元格所属单元格的单元格合并信息,确定所述目标基础单元格的各条边是否存在边线;[0204]第二生成子单元,用于根据所述目标基础单元格的各条边是否存在边线,生成所述目标基础单元格的边线矩阵;所述目标基础单元格分别为所述基础单元格中的每一个;[0205]第五确定子单元,用于当所述第一类型表格为网页类型表格,根据第一类型表格的网页标签以及网页样式,确定每个所述基础单元格的各条边是否存在边线;[0206]第三生成子单元,用于根据每个所述基础单元格的各条边是否存在边线,生成每个所述基础单元格的边线矩阵。[0207]另外,本技术实施例还提供了一种表格转换设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项实施例所述的表格转换方法。[0208]另外,本技术实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项实施例所述的表格转换方法。[0209]本技术实施例提供了一种表格转换装置及设备,确定第一类型表格包括的基础单元格。识别每个基础单元格的边线,生成每个基础单元格的边线矩阵。并识别每个基础单元格的单元格内容。其中,边线矩阵中的各个元素表征基础单元格的各条边是否存在边线。单元格内容包括单元格长度、单元格宽度、单元格填充内容以及单元格类型。由此,基于每个基础单元格的边线矩阵和单元格内容,记录了第一类型表格完整且详细的信息。第一类型表格完整且详细的信息通过每个基础单元格的边线矩阵和单元格内容体现。之后,根据每个基础单元格的边线矩阵以及单元格内容,便可生成第一类型表格对应的第二类型表格。本技术实施例中,确定第一类型表格包括的基础单元格,根据每个基础单元格的边线矩阵以及单元格内容,能够确定第一类型表格完整且详细的信息。则根据每个基础单元格的边线矩阵以及单元格内容生成的第二类型表格对第一类型表格的还原度较高。[0210]需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0211]应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。[0212]还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0213]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
:内所公知的任意其它形式的存储介质中。[0214]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1