CN103279455B - 电子表格的样式处理方法和装置 - Google Patents
电子表格的样式处理方法和装置 Download PDFInfo
- Publication number
- CN103279455B CN103279455B CN201310263971.0A CN201310263971A CN103279455B CN 103279455 B CN103279455 B CN 103279455B CN 201310263971 A CN201310263971 A CN 201310263971A CN 103279455 B CN103279455 B CN 103279455B
- Authority
- CN
- China
- Prior art keywords
- unit lattice
- front unit
- frame
- information
- worksheet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种电子表格的样式处理方法和装置,其中,方法包括:将工作表转换为HTML网页的形式时,获取工作表中非空单元格的边框格式信息;根据边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号;从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行;若不是所在行中最右侧的单元格,删除当前单元格的右边框数据;若不是工作表中的最后一行,删除当前单元格的下边框数据。本发明实施例可以将电子表格转换为HTML网页形式后出现边框丢失和边框粗细不一、不利于网页展现的情况。
Description
技术领域
本发明涉及计算机技术,尤其是一种电子表格的样式处理方法和装置。
背景技术
电子表格可以输入输出、显示用户数据,可以帮助用户制作各种复杂的表格文档,进行繁琐的用户数据计算,并能对输入的用户数据进行各种复杂统计运算后显示为可视性极佳的表格。同时,它还能形象地将大量枯燥无味的用户数据变为多种漂亮的彩色商业图表显示出来,极大地增强了用户数据的可视性。另外,电子表格还能将各种统计报告和统计图打印出来。
目前,电子表格已经被广泛应用在当今的办公事务处理活动中。通常情况下,人们使用电子表格软件阅读和编辑电子表格。在一些特定应用场景中,例如,报表等应用系统需要将电子表格以超文本标记语言(HypertextMarkupLanguage,HTML)网页的形式展现给用户时,就需要对电子表格的样式进行处理。其中,HTML是用于描述网页文档的一种标记语言,HTML是一种规范,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容,例如,文字如何处理,画面如何安排,图片如何显示等。
工作表(即:电子表格)是显示在工作簿窗口中的表格。工作簿是包含一个或多个工作表的文件,可以用其中的工作表来组织各种相关信息。每一本工作簿可以拥有许多不同的工作表,工作簿中可建立的工作表数量受可用内存的限制,新建工作簿时工作表数量的默认值为3个。美国微软公司(Microsoft)开发的表格处理软件(Excel)是微软公司的办公软件(Microsoftoffice)的组件之一,是由Microsoft为其开发的“视窗”操作系统(Windows)和苹果公司生产的计算机AppleMacintosh操作系统的电脑而编写和运行的一款试算表软件。在2003及以下版本的Excel中,新建工作簿时工作表数量的默认值可在工具菜单的选项中的常规选卡里设定;在2007版本的Excel中,新建工作簿时工作表数量的默认值可在Office按钮的Excel选项中的常用选卡里设定。
样式,是指在办公软件中采用预设关键字保存的字符格式和段落格式的集合。对于电子表格中的单元格,样式包括字体、边框、填充、对齐等。其中,边框是围绕电子表格中元素内容和内边距的一条或多条线。
层叠样式表单(CascadingStyleSheets,CSS)是一种用来表现HTML或可扩展标记语言(ExtensibleMarkupLanguage,XML)等文件样式的计算机语言。
在实现本发明的过程中,发明人发现,现有技术至少存在以下问题:
应用系统在将电子表格转换为HTML网页的形式的过程中,若在读取电子表格中单元格的边框数据后直接将每个单元格的边框颜色、线条转换为CSS代码,则在最终转换出的HTML网页形式的电子表格中,可能出现边框丢失和边框粗细不一的情况,不利于网页展现;
不能使用CSS简化所转换出的HTML代码中对表格样式的描述,导致在其他条件相同的情况下,所转换出的网页文档(即:HTML网页形式的电子表格文档)所占物理空间较大,由于对电子表格中的每个单元格都独立的记录了样式信息,所以数据量较大,存在存储空间浪费、不利于网络传输和浏览器展现的问题;
对于电子表格中冻结窗格的处理,目前的微软OFFICE、永中OFFICE、金山软件公司开发的中文字处理系统(WPS)等办公软件中的电子表格都没有提供将原始电子表格转换为HTML网页形式电子表格后的冻结窗格功能。由于没有使用冻结窗格页面展现技术,因此,现有技术转换出的HTML网页电子表格不能支持电子表格冻结窗格。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种电子表格的样式处理方法和装置,以避免在将电子表格转换为HTML网页的形式的电子表格后,出现边框丢失和边框粗细不一、不利于网页展现的情况。
本发明实施例进一步所要解决的一个技术问题是:提供一种电子表格的样式处理方法和装置,以解决电子表格中的每个单元格都独立记录样式信息,导致数据量较大、存储空间浪费、不利于网络传输和浏览器展现的问题。
本发明实施例进一步所要解决的另一个技术问题是:提供一种电子表格的样式处理方法和装置,以实现将原始电子表格转换为HTML网页形式电子表格后的冻结窗格功能。
本发明实施例提供的一种电子表格的样式处理方法,包括:
将工作表转换为超文本标记语言HTML网页的形式时,获取工作表中非空单元格的边框格式信息;
根据所述边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号;
从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行;
响应于当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;
响应于当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。
上述方法的一个具体实施例中,所述边框格式信息包括是否有上下左右边框、边框宽度与颜色。
上述方法的一个具体实施例中,所述获取工作表中非空单元格的边框格式信息包括:
遍历工作表的每一行;
依次针对当前行,判断当前行是否为空;
响应于当前行为空,跳过当前行,判断是否存在下一行;响应于存在下一行,以下一行作为当前行,执行所述针对当前行,判断当前行是否为空的操作;
否则,响应于当前行不为空,则遍历当前行的每个单元格,依次针对当前行中的当前单元格,判断当前单元格是否为空;
响应于当前单元格为空,跳过当前单元格,判断当前行是否存在下一单元格;响应于当前行存在下一单元格,以下一单元格作为当前单元格,执行所述针对当前行中的当前单元格,判断当前单元格是否为空的操作;否则,响应于当前行不存在下一单元格,返回执行所述判断是否存在下一行的操作;
否则,响应于当前单元格不为空,从工作表的样式表中读取当前单元格的边框格式信息。
上述方法的一个具体实施例中,根据所述边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号包括:
从工作表的样式表中读取当前单元格的边框格式信息后,根据当前单元格的边框格式信息,判断当前单元格是否存在上边框;
响应于当前单元格存在上边框,以首个存在上边框的当前单元格的行号作为边框合并开始行号。
上述方法的一个具体实施例中,当前行为空具体为当前行被记录为空NULL,包括当前行被隐藏或者当前行没有用户数据;
当前单元格为空包括当前单元格没有用户数据。
上述方法的一个具体实施例中,还包括:
遍历所述工作表,依次以工作表中的每一个非空单元格作为当前单元格,执行如下操作:
读取当前单元格的样式信息;
查询样式表中是否已存在所述样式信息描述的样式;
响应于样式表中已存在所述样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;
响应于样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
上述方法的一个具体实施例中,所述样式信息描述的样式包括边框格式、字体格式、填充格式与对齐格式;
所述读取当前单元格的样式信息包括:
分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;
将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
上述方法的一个具体实施例中,分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,还包括:对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并的操作。
上述方法的一个具体实施例中,对当前单元格的边框格式进行归并的操作包括:
读取当前单元格的边框格式信息;
查询边框格式表中是否已存在当前单元格的边框格式信息;
响应于边框格式表中已存在当前单元格的边框格式信息,在边框格式表中记录当前单元格的边框格式在边框格式表中的边框格式标识,并输出当前单元格的边框格式标识;
响应于边框格式表中不存在当前单元格的边框格式信息,向边框格式表中存入当前单元格的边框格式与该边框格式的边框格式标识,并输出当前单元格的边框格式标识。
上述方法的一个具体实施例中,对当前单元格的字体格式进行归并的操作包括:
读取当前单元格的字体格式信息;
查询字体格式表中是否已存在当前单元格的字体格式信息;
响应于字体格式表中已存在当前单元格的字体格式信息,在字体格式表中记录当前单元格的字体格式在字体格式表中的字体格式标识,并输出当前单元格的字体格式标识;
响应于字体格式表中不存在当前单元格的字体格式信息,向字体格式表中存入当前单元格的字体格式与该字体格式的字体格式标识,并输出当前单元格的字体格式标识。
上述方法的一个具体实施例中,对当前单元格的填充格式进行归并的操作包括:
读取当前单元格的填充格式信息;
查询填充格式表中是否已存在当前单元格的填充格式信息;
响应于填充格式表中已存在当前单元格的填充格式信息,在填充格式表中记录当前单元格的填充格式在填充格式表中的填充格式标识,并输出当前单元格的填充格式标识;
响应于填充格式表中不存在当前单元格的填充格式信息,向填充格式表中存入当前单元格的填充格式与该填充格式的填充格式标识,并输出当前单元格的填充格式标识。
上述方法的一个具体实施例中,对当前单元格的对齐格式进行归并的操作包括:
读取当前单元格的对齐格式信息;
查询对齐格式表中是否已存在当前单元格的对齐格式信息;
响应于对齐格式表中已存在当前单元格的对齐格式信息,在对齐格式表中记录当前单元格的对齐格式在对齐格式表中的对齐格式标识,并输出当前单元格的对齐格式标识;
响应于对齐格式表中不存在当前单元格的对齐格式信息,向对齐格式表中存入当前单元格的对齐格式与该对齐格式的对齐格式标识,并输出当前单元格的对齐格式标识。
上述方法的一个具体实施例中,还包括:
读取工作表的属性数据;
根据所述工作表的属性数据识别所述工作表中是否存在冻结窗格;
若存在冻结窗格,从所述工作表的属性数据中获取冻结窗格坐标作为冻结坐标;
根据所述冻结坐标对应的区域范围,生成水平方向冻结的区域的层叠样式表单CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。
本发明实施例提供的一种电子表格的样式处理装置,包括:
第一获取单元,用于在将工作表转换为超文本标记语言HTML网页的形式时,获取工作表中非空单元格的边框格式信息;
第二获取单元,用于根据所述边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号;
第一识别单元,用于从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行;
删除单元,用于响应于当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;以及响应于当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。
上述装置的一个具体实施例中,所述边框格式信息包括是否有上下左右边框、边框宽度与颜色。
上述装置的一个具体实施例中,还包括:
第一读取单元,用于遍历所述工作表,依次以工作表中的每一个非空单元格作为当前单元格,读取当前单元格的样式信息;
查询单元,用于查询样式表中是否已存在所述样式信息描述的样式;
记录单元,用于响应于样式表中已存在所述样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;以及响应于样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
上述装置的一个具体实施例中,所述样式信息描述的样式包括边框格式、字体格式、填充格式与对齐格式;
所述第一读取单元,具体用于分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;以及将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
上述装置的一个具体实施例中,还包括:
格式归并单元,用于在所述第一读取单元分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并。
上述装置的一个具体实施例中,还包括:
第二读取单元,用于读取工作表的属性数据;
第二识别单元,用于根据所述工作表的属性数据识别所述工作表中是否存在冻结窗格;
第三获取单元,用于根据第二识别单元的识别结果,若存在冻结窗格,从所述工作表的属性数据中获取冻结窗格坐标作为冻结坐标;
生成单元,用于根据所述冻结坐标对应的区域范围,生成水平方向冻结的区域的层叠样式表单CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。
基于本发明上述实施例提供的电子表格的样式处理方法和装置,将工作表转换为HTML网页的形式时,对单元格的边框进行预处理,获取工作表中非空单元格的边框格式信息,据此获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号,从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行,若当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;若当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。使得相邻的单元格之间的共享边框,除工作表中最右侧与最下侧的单元格外,其他单元格仅设置左边框和上边框。与现有技术相比,可以有效保证边框粗细的一致性,避免了在读取电子表格中单元格的边框数据后直接将每个单元格的边框颜色、线条转换为CSS代码导致在将电子表格转换为HTML网页的形式的电子表格后,出现边框丢失和边框粗细不一、不利于网页展现的情况。
进一步地,本发明上述实施例提供的电子表格的样式处理方法和装置中,读取每一个单元格的样式信息后,查询样式表中是否已存在所述样式信息描述的样式;若样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识;若样式表中已存在所述样式信息描述的样式,在样式表中仅记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识,基于对工作表中单元格的样式归并,实现了在整个电子表格范围内,表格样式的统一管理,同一个电子表格中单元格相同的样式只记录一份。与现有技术相比,简化了所转换出的HTML代码中对表格样式的描述,在其他条件相同的情况下,使得样式信息的数据量较小,所转换出的网页文档所占物理空间小,节省了存储空间,有利于网络传输和浏览器展现,避免了现有技术中由于对电子表格中的每个单元格都独立的记录了样式信息,导致数据量较大、存储空间浪费、不利于网络传输和浏览器展现的问题。
进一步地,本发明上述实施例提供的电子表格的样式处理方法和装置中,还可以读取工作表的属性数据,根据盖工作表的属性数据识别工作表中是否存在冻结窗格;若存在冻结窗格,从工作表的属性数据中获取冻结窗格坐标作为冻结坐标,并根据该冻结坐标对应的区域范围,生成水平方向冻结的区域的CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。与现有技术相比,基于冻结窗格页面展现技术,实现了将原始电子表格转换为HTML网页形式电子表格后的冻结窗格功能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明电子表格的样式处理方法一个实施例的流程图。
图2为本发明实施例中获取工作表中非空单元格的边框格式信息与边框合并开始行号的一个具体示例的流程图。
图3为本发明实施例中对工作表中单元格进行边框合并的一个具体示例的流程图。
图4为本发明实施例中对工作表进行样式归并的一个具体示例的流程图。
图5为本发明实施例中实现工作表冻结窗格的一个具体示例的流程图。
图6为本发明电子表格的样式处理装置一个实施例的结构示意图。
图7为本发明电子表格的样式处理装置另一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和装置可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明电子表格的样式处理方法一个实施例的流程图。如图1所示,该实施例电子表格的样式处理方法包括:
101,将工作表转换为HTML网页的形式时,获取工作表中非空单元格的边框格式信息。
示例性地,本发明实施例中的边框格式信息包括但不限于:是否有上、下、左、右边框,以及边框宽度与颜色。
102,根据获取到的边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号。
103,从获取到的边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行。
响应于当前单元格不是所在行中最右侧的单元格,执行104的操作。响应于当前单元格所在行不是工作表中的最后一行,执行105的操作。否则,不执行本实施例的后续流程。
104,删除当前单元格的右边框数据。
105,删除当前单元格的下边框数据。
上述操作103~105,可以称为对工作表中单元格的边框合并。
基于本发明上述实施例提供的电子表格的样式处理方法,将工作表转换为HTML网页的形式时,对单元格的边框进行预处理,获取工作表中非空单元格的边框格式信息,据此获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号,从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行,若当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;若当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。使得相邻的单元格之间的共享边框,除工作表中最右侧与最下侧的单元格外,其他单元格仅设置左边框和上边框。与现有技术相比,可以有效保证边框粗细的一致性,避免了在读取电子表格中单元格的边框数据后直接将每个单元格的边框颜色、线条转换为CSS代码导致在将电子表格转换为HTML网页的形式的电子表格后,出现边框丢失和边框粗细不一、不利于网页展现的情况。
根据本发明电子表格的样式处理方法实施例的一个具体示例而非限制,图1所示实施例的101中,具体可以通过以下方式获取工作表中非空单元格的边框格式信息:
遍历工作表的每一行;
依次针对当前行,判断当前行是否为空。示例性地,当前行为空具体可以是当前行被记录为空(NULL),包括当前行被隐藏或者当前行没有用户数据;
响应于当前行为空,跳过当前行,判断是否存在下一行;响应于存在下一行,以下一行作为当前行,返回执行所述针对当前行,判断当前行是否为空的操作;
否则,响应于当前行不为空,则遍历当前行的每个单元格,依次针对当前行中的当前单元格,判断当前单元格是否为空。示例性地,当前单元格为空具体可以是当前单元格没有用户数据;
响应于当前单元格为空,跳过当前单元格,判断当前行是否存在下一单元格;响应于当前行存在下一单元格,以下一单元格作为当前单元格,返回执行所述针对当前行中的当前单元格,判断当前单元格是否为空的操作;否则,响应于当前行不存在下一单元格,返回执行所述判断是否存在下一行的操作;
否则,响应于当前单元格不为空,从工作表的样式表中读取当前单元格的边框格式信息。
相应地,根据本发明电子表格的样式处理方法实施例的另一个具体示例而非限制,图1所示实施例的102操作具体可以通过以下方式实现:
从工作表的样式表中读取当前单元格的边框格式信息后,根据当前单元格的边框格式信息,判断当前单元格是否存在上边框;
响应于当前单元格存在上边框,以首个存在上边框的当前单元格的行号作为边框合并开始行号。
图2为本发明实施例中获取工作表中非空单元格的边框格式信息与边框合并开始行号的一个具体示例的流程图。如图2所示,该实施例的流程包括:
201,遍历工作表(Sheet)的每一行,依次以遍历到的每一行作为当前行,执行本实施例201~208的操作。
202,判断当前行是否为空,即:当前行是否被记录为NULL,例如,当前行被隐藏或者完全没有用户有数据的行,可能在Excel等电子表格中被记录为NULL。
响应于当前行为空,则跳过当前行,执行203的操作。若当前行不为空,则执行204的操作。
203,判断工作表中是否存在下一行。
若存在下一行,以下一行作为当前行,返回执行202的操作。否则,若不存在下一行,结束本实施例的操作。
204,遍历当前行的每个单元格,并依次针对当前行中的当前单元格,执行205的操作。
205,判断当前单元格是否为空。示例性地,当前单元格为空具体可以是当前单元格没有用户数据。
若当前单元格为空,跳过当前单元格,执行206的操作。否则,若当前单元格不为空,执行207的操作。
206,判断当前行是否存在下一单元格。
若当前行存在下一单元格,以下一单元格作为当前单元格,执行205的操作。否则,若当前行不存在下一单元格,执行203的操作。
207,从工作表的样式表中读取当前单元格的边框格式信息,例如,当前单元格是否有上、下、左、右边框,以及边框的宽度、颜色等信息。
208,根据当前单元格的边框格式信息,判断当前单元格是否存在上边框。
若当前单元格存在上边框,以首个存在上边框的当前单元格的行号作为边框合并开始行号,退出本次遍历循环。否则,若当前单元格不存在上边框,执行206的操作。
图3为本发明实施例中对工作表中单元格进行边框合并的一个具体示例的流程图。如图3所示,以从通过图2所示实施例获取到的边框合并开始行号标识的行开始,执行以下操作:
301,从获取到的边框合并开始行号标识的行开始,遍历工作表(Sheet)的每一行,依次以遍历到的每一行作为当前行,执行本实施例的操作。
302,判断当前行是否为空,即:当前行是否被记录为NULL,例如,当前行被隐藏或者完全没有用户有数据的行,可能在Excel等电子表格中被记录为NULL。
响应于当前行为空,则跳过当前行,执行303的操作。若当前行不为空,则执行304的操作。
303,判断工作表中是否存在下一行。
若存在下一行,以下一行作为当前行,返回执行302的操作。否则,若不存在下一行,结束本实施例的操作。
304,遍历当前行的每个单元格,并依次针对当前行中的当前单元格,执行305的操作。
305,判断当前单元格是否为空。示例性地,当前单元格为空具体可以是当前单元格没有用户数据。
若当前单元格为空,跳过当前单元格,执行306的操作。否则,若当前单元格不为空,执行307的操作。
306,判断当前行是否存在下一单元格。
若当前行存在下一单元格,以下一单元格作为当前单元格,执行305的操作。否则,若当前行不存在下一单元格,执行303的操作。
307,从工作表的样式表中读取当前单元格的边框格式信息,例如,当前单元格是否有上、下、左、右边框,以及边框的宽度、颜色等信息。
308,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行。
若当前单元格不是所在行中最右侧的单元格,执行309的操作。若当前单元格所在行不是工作表中的最后一行,执行310的操作。否则,若当前单元格为工作表最后一行中最右侧的单元格,不执行本实施例的后续操作。
309,删除当前单元格的右边框数据。
310,删除当前单元格的下边框数据。
基于图3所示的上述实施例,使得单元格存在共享边框时,除最右侧和最下方单元格外,仅保留单元格的左边框与上边框。
在本发明电子表格的样式处理方法的另一个实施例中,执行完本发明上述实施例的流程后,还可以包括对工作表进行样式归并的以下操作:
遍历工作表,依次以工作表中的每一个非空单元格作为当前单元格,执行如下操作:
读取当前单元格的样式信息;
查询样式表中是否已存在样式信息描述的样式;
响应于样式表中已存在样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;
响应于样式表中不存在样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
本发明实施例中的样式可以包括应用于工作表、列、行、单元格的样式,包括字体、边框、对齐、高度、宽度、合并单元格、隐藏等。可以使用包括但不限于哈希表在内的时间复杂度O(1)结构进行样式信息的存取。
本发明上述实施例提供的电子表格的样式处理方法中,读取每一个单元格的样式信息后,查询样式表中是否已存在所述样式信息描述的样式;若样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识;若样式表中已存在所述样式信息描述的样式,在样式表中仅记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识,基于对工作表中单元格的样式归并,实现了在整个电子表格范围内,表格样式的统一管理,同一个电子表格中单元格相同的样式只记录一份。与现有技术相比,简化了所转换出的HTML代码中对表格样式的描述,在其他条件相同的情况下,使得样式信息的数据量较小,所转换出的网页文档所占物理空间小,节省了存储空间,有利于网络传输和浏览器展现,避免了现有技术中由于对电子表格中的每个单元格都独立的记录了样式信息,导致数据量较大、存储空间浪费、不利于网络传输和浏览器展现的问题。
根据上述电子表格的样式处理方法另一个实施例的一个具体示例而非限制,其中的样式信息描述的样式具体可以包括但不限于边框格式、字体格式、填充格式与对齐格式。相应地,读取当前单元格的样式信息可以包括:
分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;
将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
根据上述电子表格的样式处理方法另一个实施例的另一个具体示例而非限制,分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,还可以包括对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并的操作。
示例性地,对当前单元格的边框格式进行归并的操作具体可以通过以下方式实现:
读取当前单元格的边框格式信息;
查询边框格式表中是否已存在当前单元格的边框格式信息;
响应于边框格式表中已存在当前单元格的边框格式信息,在边框格式表中记录当前单元格的边框格式在边框格式表中的边框格式标识,并输出当前单元格的边框格式标识;
响应于边框格式表中不存在当前单元格的边框格式信息,向边框格式表中存入当前单元格的边框格式与该边框格式的边框格式标识,并输出当前单元格的边框格式标识。
示例性地,对当前单元格的字体格式进行归并的操作具体可以通过以下方式实现:
读取当前单元格的字体格式信息;
查询字体格式表中是否已存在当前单元格的字体格式信息;
响应于字体格式表中已存在当前单元格的字体格式信息,在字体格式表中记录当前单元格的字体格式在字体格式表中的字体格式标识,并输出当前单元格的字体格式标识;
响应于字体格式表中不存在当前单元格的字体格式信息,向字体格式表中存入当前单元格的字体格式与该字体格式的字体格式标识,并输出当前单元格的字体格式标识。
示例性地,对当前单元格的填充格式进行归并的操作具体可以通过以下方式实现:
读取当前单元格的填充格式信息;
查询填充格式表中是否已存在当前单元格的填充格式信息;
响应于填充格式表中已存在当前单元格的填充格式信息,在填充格式表中记录当前单元格的填充格式在填充格式表中的填充格式标识,并输出当前单元格的填充格式标识;
响应于填充格式表中不存在当前单元格的填充格式信息,向填充格式表中存入当前单元格的填充格式与该填充格式的填充格式标识,并输出当前单元格的填充格式标识。
示例性地,对当前单元格的对齐格式进行归并的操作具体可以通过以下方式实现:
读取当前单元格的对齐格式信息;
查询对齐格式表中是否已存在当前单元格的对齐格式信息;
响应于对齐格式表中已存在当前单元格的对齐格式信息,在对齐格式表中记录当前单元格的对齐格式在对齐格式表中的对齐格式标识,并输出当前单元格的对齐格式标识;
响应于对齐格式表中不存在当前单元格的对齐格式信息,向对齐格式表中存入当前单元格的对齐格式与该对齐格式的对齐格式标识,并输出当前单元格的对齐格式标识。
本发明上述实施例提供的电子表格的样式处理方法中,分别读取每一个单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,查询边框格式表、字体格式表、填充框格式表与对齐格式表中是否已存在边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式;若存在,仅在相应边框格式表、字体格式表、填充框格式表或对齐格式表中记录当前单元格的边框格式标识、字体格式标识、填充格式标识或对齐格式标识即可,而无需存入冗长的边框格式信息、字体格式信息、填充格式信息与对齐格式信息,简化了所转换出的HTML代码中对单元格边框格式、字体格式、填充格式与对齐格式的描述,在其他条件相同的情况下,使得格式信息的数据量较小,所转换出的网页文档所占物理空间小,节省了存储空间,有利于网络传输和浏览器展现,避免了现有技术中由于对电子表格中的每个单元格都独立的记录了格式信息,导致数据量较大、存储空间浪费、不利于网络传输和浏览器展现的问题。
图4为本发明实施例中对工作表进行样式归并的一个具体示例的流程图。如图4所示,对工作表中单元格的边框合并完成后,还还可以执行本实施例的以下流程:
401,遍遍历工作表(Sheet)的每一行,依次以遍历到的每一行作为当前行,执行本实施例的操作。
402,判断当前行是否为空,即:当前行是否被记录为NULL,例如,当前行被隐藏或者完全没有用户有数据的行,可能在Excel等电子表格中被记录为NULL。
响应于当前行为空,则跳过当前行,执行403的操作。若当前行不为空,则执行404的操作。
403,判断是否存在下一行。
若存在下一行,以下一行作为当前行,返回执行402的操作。否则,若不存在下一行,结束本实施例的操作。
404,遍历当前行的每个单元格,并依次针对当前行中的当前单元格,执行405的操作。
405,判断当前单元格是否为空。示例性地,当前单元格为空具体可以是当前单元格没有用户数据。
若当前单元格为空,跳过当前单元格,执行406的操作。否则,若当前单元格不为空,执行407的操作。
406,判断当前行是否存在下一单元格。
若当前行存在下一单元格,以下一单元格作为当前单元格,执行405的操作。否则,若当前行不存在下一单元格,执行403的操作。
407,从工作表的样式表中读取当前单元格的样式信息,即:分别通过4071、4076、4011与4016的操作,读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息。
4071,从边框格式表中读取当前单元格的边框格式信息,其中的边框格式包括但不限于该当前单元格的上、下、左、右边框的线条样式、粗细、颜色等的组合。
4072,查询边框格式表中是否已存在当前单元格的边框格式信息。
若边框格式表中已存在当前单元格的边框格式信息,执行4073的操作。否则,若边框格式表中不存在当前单元格的边框格式信息,执行4074的操作。
4073,在边框格式表中记录当前单元格的边框格式在边框格式表中的边框格式标识,该边框格式标识例如索引号、编号等,唯一标识一种边框格式,以记录当前单元格引用此边框格式。
之后执行4075的操作。
4074,向边框格式表中存入当前单元格的边框格式与该边框格式的边框格式标识。
4075,输出当前单元格的边框格式标识。
之后执行408的操作。
4076,读取当前单元格的字体格式信息,其中的字体格式包括但不限于当前单元格中用户数据的字体、大小、颜色、加粗、斜体等强调样式的组合。
4077,查询字体格式表中是否已存在当前单元格的字体格式信息。
若字体格式表中已存在当前单元格的字体格式信息,执行4078的操作。否则,若字体格式表中不存在当前单元格的字体格式信息,执行4079的操作。
4078,在字体格式表中记录当前单元格的字体格式在字体格式表中的字体格式标识,该字体格式标识例如索引号、编号等,唯一标识一种字体格式,以记录当前单元格中用户数据引用此字体格式。
之后执行4075的操作。
4079,向字体格式表中存入当前单元格的字体格式与该字体格式的字体格式标识。
4080,输出当前单元格的字体格式标识。
之后执行408的操作。
4081,读取当前单元格的填充格式信息,其中的填充格式包括但不限于当前单元格的填充样式、填充颜色、填充图片、透明度等的组合。
4082,查询填充格式表中是否已存在当前单元格的填充格式信息。
若填充格式表中已存在当前单元格的填充格式信息,执行4083的操作。否则,若填充格式表中不存在当前单元格的填充格式信息,执行4084的操作。
4083,在填充格式表中记录当前单元格的填充格式在填充格式表中的填充格式标识,该填充格式标识例如索引号、编号等,唯一标识一种填充格式,以记录当前单元格引用此填充格式。
之后执行4085的操作。
4084,向填充格式表中存入当前单元格的填充格式与该填充格式的填充格式标识。
4085,输出当前单元格的填充格式标识。
之后执行408的操作。
4086,读取当前单元格的对齐格式信息,其中的对其格式包括水平对齐、垂直对齐等的组合。
4087,查询对齐格式表中是否已存在当前单元格的对齐格式信息。
若对齐格式表中已存在当前单元格的对齐格式信息,执行4088的操作。若对齐格式表中不存在当前单元格的对齐格式信息,执行4089的操作。
4088,在对齐格式表中记录当前单元格的对齐格式在对齐格式表中的对齐格式标识,该对齐格式标识例如索引号、编号等,唯一标识一种填充格式,以记录当前单元格引用此对齐格式。
之后执行4090的操作。
4089,向对齐格式表中存入当前单元格的对齐格式与该对齐格式的对齐格式标识。
4090,输出当前单元格的对齐格式标识。
408,将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
409,查询样式表中是否已存在组合得到的样式信息描述的样式。
另外,操作408中也可以将5075、4080、4086与4090输出的边框格式标识、字体格式标识、填充格式标识与对齐格式标识组合得到样式标识,该操作409中,通过查询样式表中是否已存在组合得到的样式标识,来判断样式表中是否存在组合得到的样式信息描述的样式。
若样式表中不存在样式信息描述的样式,执行410的操作。若样式表中已存在样式信息描述的样式,执行411的操作。
410,向样式表中存入当前单元格的样式与该样式的样式标识,该样式标识例如样式的索引号、编号等,唯一标识一种由边框格式、字体格式、填充格式与对齐格式的组合,以记录当前单元格引用样式。
之后,执行412的操作。
411,在样式表中记录当前单元格的样式在样式表中的样式标识。
412,输出当前单元格的样式标识。
在本发明电子表格的样式处理方法的另一个实施例中,还可以包括实现工作表冻结窗格的操作。如图5所示,为本发明实施例中实现工作表冻结窗格的一个具体示例的流程图,其具体包括以下操作:
501,从工作表的数据中读取工作表的属性数据,其中的属性数据中包括冻结窗格属性数据。
502,根据工作表的属性数据识别工作表中是否存在冻结窗格。
若存在冻结窗格,执行503的操作。否则,若不存在冻结窗格,不执行本实施例的后续流程,可以将工作表中的用户数据生成逐一转换为HTML代码,从而将原始的工作表转换为HTML网页形式。
503,从工作表的属性数据中获取冻结窗格坐标作为冻结坐标。
504,根据冻结坐标对应的区域范围,生成水平方向冻结(即:左表头冻结)的区域的CSS样式、或者垂直方向冻结(即:上表头冻结)的区域的CSS样式、或者水平和垂直方向都冻结(即:左表头和上表头都冻结)的区域的CSS样式。
之后,便可以将工作表中的用户数据生成逐一转换为HTML代码,从而将原始的工作表转换为HTML网页形式。
根据本发明图5所示实施例的一个具体示例而非限制,可以示例性地基于CSS属性中元素堆叠顺序属性z-index元素、相对位置属性relative与行为调用属性expresssion的组合,来生成冻结区域的CSS样式。
其中,z-index是CSS样式中的一个属性,可用于设置页面元素的堆叠顺序。具体地,拥有教高堆叠顺序的元素处于堆叠顺序较低的元素的前面。因此,可以设置水平和垂直方向均冻结的区域具有较大的z-index数值,而仅水平方向或垂直方向冻结的区域次之。
Relative表示冻结区域相对于浏览器窗口的位置,冻结区域的位置(position)属性为relative。
Expresssion为使用CSS中的行为调用JS代码,用于将工作表坐标值赋值给冻结区域,使冻结区域相对工作表左上角的距离恰好等于工作表左上角离绘制工作表区域左上角的距离,从而使用户看来将工作表转换为HTML形式后冻结区域没有移动。
例如,生成水平和垂直方向均冻结的区域的CSS样式的一个示例如下:
Locked/*水平与垂直方向均冻结,不随鼠标或滚动条移动*/
{z-index:30;position:relative;
top:expression(parentNode.parentNode.parentNode.scrollTop);
left:expression(parentNode.parentNode.parentNode.scrollLeft);
}
例如,生成垂直方向冻结的区域的CSS样式的一个示例如下:
HLocked/*水平方向冻结*/
{z-index:10;position:relative;left:expression(parentNode.parentNode.parentNode.scrollLeft);
}
本发明上述实施例提供的电子表格的样式处理方法中,还可以读取工作表的属性数据,根据盖工作表的属性数据识别工作表中是否存在冻结窗格;若存在冻结窗格,从工作表的属性数据中获取冻结窗格坐标作为冻结坐标,并根据该冻结坐标对应的区域范围,生成水平方向冻结的区域的CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。与现有技术相比,基于冻结窗格页面展现技术,实现了将原始电子表格转换为HTML网页形式电子表格后的冻结窗格功能。
图6为本发明电子表格的样式处理装置一个实施例的结构示意图。该实施例电子表格的样式处理装置可用于实现本发明上述各电子表格的样式处理方法流程。如图6所示,其包括第一获取单元601、第二获取单元602、第一识别单元603与删除单元604。其中:
第一获取单元601,用于在将工作表转换为HTML网页的形式时,获取工作表中非空单元格的边框格式信息。
示例性地,边框格式信息具体可以包括但不限于:是否有上、下、左、右边框,以及边框宽度与颜色。
第二获取单元602,用于根据第一获取单元601获取到的边框格式信息,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号。
第一识别单元603,用于从第二获取单元602获取到的边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行。
删除单元604,用于根据第一识别单元603的识别结果,响应于当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;以及响应于当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。
基于本发明上述实施例提供的电子表格的样式处理装置,将工作表转换为HTML网页的形式时,对单元格的边框进行预处理,获取工作表中非空单元格的边框格式信息,据此获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号,从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行,若当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;若当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。使得相邻的单元格之间的共享边框,除工作表中最右侧与最下侧的单元格外,其他单元格仅设置左边框和上边框。与现有技术相比,可以有效保证边框粗细的一致性,避免了在读取电子表格中单元格的边框数据后直接将每个单元格的边框颜色、线条转换为CSS代码导致在将电子表格转换为HTML网页的形式的电子表格后,出现边框丢失和边框粗细不一、不利于网页展现的情况。
图7为本发明电子表格的样式处理装置另一个实施例的结构示意图。该实施例可以实现本发明图4所示方法实施例的流程。如图7所示,与图6所示的实施例相比,该实施例电子表格的样式处理装置还包括:
第一读取单元701,用于遍历工作表,依次以工作表中的每一个非空单元格作为当前单元格,读取当前单元格的样式信息。
查询单元702,用于查询样式表中是否已存在第一读取单元701读取到的样式信息所描述的样式。
记录单元703,用于响应于样式表中已存在第一读取单元701读取到的样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;以及响应于样式表中不存在第一读取单元701读取到的样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
根据图7所示电子表格的样式处理装置实施例的一个具体示例而非限制,其中的样式信息描述的样式具体可以包括但不限于边框格式、字体格式、填充格式与对齐格式。相应地,第一读取单元701具体用于分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;以及将读取到的当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
再参见图7,在本发明电子表格的样式处理装置的又一个实施例中,还可以包括格式归并单元704,用于在第一读取单元701分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并。
再参见图7,在本发明电子表格的样式处理装置的又一个实施例中,还可以包括第二读取单元705、第二识别单元706、第三获取单元707与生成单元708。其中,第二读取单元705用于读取工作表的属性数据。第二识别单元706用于根据第二读取单元705读取到的工作表的属性数据识别工作表中是否存在冻结窗格。第三获取单元707用于根据第二识别单元706的识别结果,若存在冻结窗格,从第二读取单元705读取到的工作表的属性数据中获取冻结窗格坐标作为冻结坐标。生成单元708用于根据第三获取单元707获取到的冻结坐标对应的区域范围,生成水平方向冻结的区域的CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例中,对工作表中各单元格的边框信息进行了合并处理,因此减少了存贮的边框冗余信息,也避免了转换出的HTML形式的网页中表格边框出现丢失和粗细不一致的情况;
使用了样式归并技术,因此转换出的HTML页面渲染所需CSS样式数量得到最大简化,在其他条件相同的情况下,本发明实施例所转换出的HTML形式的网页文档所占物理空间更小,网络传输和浏览器展现更快;
使用了冻结窗格页面展现技术,因此转换出的HTML形式的网页能支持电子表格冻结窗格。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (18)
1.一种电子表格的样式处理方法,其特征在于,包括:
将工作表转换为超文本标记语言HTML网页的形式时,获取工作表中非空单元格的边框格式信息;
根据所述边框格式信息,判断当前单元格是否存在上边框,响应于当前单元格存在上边框,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号;
从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行;
响应于当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;
响应于当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。
2.根据权利要求1所述的方法,其特征在于,所述边框格式信息包括是否有上下左右边框、边框宽度与颜色。
3.根据权利要求1所述的方法,其特征在于,所述获取工作表中非空单元格的边框格式信息包括:
遍历工作表的每一行;
依次针对当前行,判断当前行是否为空;
响应于当前行为空,跳过当前行,判断是否存在下一行;响应于存在下一行,以下一行作为当前行,执行所述针对当前行,判断当前行是否为空的操作;
否则,响应于当前行不为空,则遍历当前行的每个单元格,依次针对当前行中的当前单元格,判断当前单元格是否为空;
响应于当前单元格为空,跳过当前单元格,判断当前行是否存在下一单元格;响应于当前行存在下一单元格,以下一单元格作为当前单元格,执行所述针对当前行中的当前单元格,判断当前单元格是否为空的操作;否则,响应于当前行不存在下一单元格,返回执行所述判断是否存在下一行的操作;
否则,响应于当前单元格不为空,从工作表的样式表中读取当前单元格的边框格式信息。
4.根据权利要求3所述的方法,其特征在于,当前行为空具体为当前行被记录为空NULL,包括当前行被隐藏或者当前行没有用户数据;
当前单元格为空包括当前单元格没有用户数据。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
遍历所述工作表,依次以工作表中的每一个非空单元格作为当前单元格,执行如下操作:
读取当前单元格的样式信息,所述样式信息描述的样式包括边框格式、字体格式、填充格式与对齐格式;
查询样式表中是否已存在所述样式信息描述的样式;
响应于样式表中已存在所述样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;
响应于样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
6.根据权利要求5所述的方法,其特征在于,
所述读取当前单元格的样式信息包括:
分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;
将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
7.根据权利要求6所述的方法,其特征在于,分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,还包括:对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并的操作。
8.根据权利要求7所述的方法,其特征在于,对当前单元格的边框格式进行归并的操作包括:
读取当前单元格的边框格式信息;
查询边框格式表中是否已存在当前单元格的边框格式信息;
响应于边框格式表中已存在当前单元格的边框格式信息,在边框格式表中记录当前单元格的边框格式在边框格式表中的边框格式标识,并输出当前单元格的边框格式标识;
响应于边框格式表中不存在当前单元格的边框格式信息,向边框格式表中存入当前单元格的边框格式与该边框格式的边框格式标识,并输出当前单元格的边框格式标识。
9.根据权利要求7所述的方法,其特征在于,对当前单元格的字体格式进行归并的操作包括:
读取当前单元格的字体格式信息;
查询字体格式表中是否已存在当前单元格的字体格式信息;
响应于字体格式表中已存在当前单元格的字体格式信息,在字体格式表中记录当前单元格的字体格式在字体格式表中的字体格式标识,并输出当前单元格的字体格式标识;
响应于字体格式表中不存在当前单元格的字体格式信息,向字体格式表中存入当前单元格的字体格式与该字体格式的字体格式标识,并输出当前单元格的字体格式标识。
10.根据权利要求7所述的方法,其特征在于,对当前单元格的填充格式进行归并的操作包括:
读取当前单元格的填充格式信息;
查询填充格式表中是否已存在当前单元格的填充格式信息;
响应于填充格式表中已存在当前单元格的填充格式信息,在填充格式表中记录当前单元格的填充格式在填充格式表中的填充格式标识,并输出当前单元格的填充格式标识;
响应于填充格式表中不存在当前单元格的填充格式信息,向填充格式表中存入当前单元格的填充格式与该填充格式的填充格式标识,并输出当前单元格的填充格式标识。
11.根据权利要求7所述的方法,其特征在于,对当前单元格的对齐格式进行归并的操作包括:
读取当前单元格的对齐格式信息;
查询对齐格式表中是否已存在当前单元格的对齐格式信息;
响应于对齐格式表中已存在当前单元格的对齐格式信息,在对齐格式表中记录当前单元格的对齐格式在对齐格式表中的对齐格式标识,并输出当前单元格的对齐格式标识;
响应于对齐格式表中不存在当前单元格的对齐格式信息,向对齐格式表中存入当前单元格的对齐格式与该对齐格式的对齐格式标识,并输出当前单元格的对齐格式标识。
12.根据权利要求7所述的方法,其特征在于,还包括:
读取工作表的属性数据;
根据所述工作表的属性数据识别所述工作表中是否存在冻结窗格;
若存在冻结窗格,从所述工作表的属性数据中获取冻结窗格坐标作为冻结坐标;
根据所述冻结坐标对应的区域范围,生成水平方向冻结的区域的层叠样式表单CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。
13.一种电子表格的样式处理装置,其特征在于,包括:
第一获取单元,用于在将工作表转换为超文本标记语言HTML网页的形式时,获取工作表中非空单元格的边框格式信息;
第二获取单元,用于根据所述边框格式信息,判断当前单元格是否存在上边框,响应于当前单元格存在上边框,获取工作表中首个存在上边框的单元格的行号作为边框合并开始行号;
第一识别单元,用于从边框合并开始行号标识的行开始,依次以工作表中的每一个非空单元格作为当前单元格,识别当前单元格是否为所在行中最右侧的单元格以及当前单元格所在行是否为工作表中的最后一行;
删除单元,用于响应于当前单元格不是所在行中最右侧的单元格,删除当前单元格的右边框数据;以及响应于当前单元格所在行不是工作表中的最后一行,删除当前单元格的下边框数据。
14.根据权利要求13所述的装置,其特征在于,所述边框格式信息包括是否有上下左右边框、边框宽度与颜色。
15.根据权利要求13或14所述的装置,其特征在于,还包括:
第一读取单元,用于遍历所述工作表,依次以工作表中的每一个非空单元格作为当前单元格,读取当前单元格的样式信息,所述样式信息描述的样式包括边框格式、字体格式、填充格式与对齐格式;
查询单元,用于查询样式表中是否已存在所述样式信息描述的样式;
记录单元,用于响应于样式表中已存在所述样式信息描述的样式,在样式表中记录当前单元格的样式在样式表中的样式标识,并输出当前单元格的样式标识;以及响应于样式表中不存在所述样式信息描述的样式,向样式表中存入当前单元格的样式与该样式的样式标识,并输出当前单元格的样式标识。
16.根据权利要求15所述的装置,其特征在于,
所述第一读取单元,具体用于分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息;以及将当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息分别描述的边框格式、字体格式、填充格式与对齐格式组合得到当前单元格的样式。
17.根据权利要求16所述的装置,其特征在于,还包括:
格式归并单元,用于在所述第一读取单元分别读取当前单元格的边框格式信息、字体格式信息、填充格式信息与对齐格式信息之后,对当前单元格边框格式、字体格式、填充格式与对齐格式进行归并。
18.根据权利要求17所述的装置,其特征在于,还包括:
第二读取单元,用于读取工作表的属性数据;
第二识别单元,用于根据所述工作表的属性数据识别所述工作表中是否存在冻结窗格;
第三获取单元,用于根据第二识别单元的识别结果,若存在冻结窗格,从所述工作表的属性数据中获取冻结窗格坐标作为冻结坐标;
生成单元,用于根据所述冻结坐标对应的区域范围,生成水平方向冻结的区域的层叠样式表单CSS样式、或者垂直方向冻结的区域的CSS样式、或者水平和垂直方向都冻结的区域的CSS样式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263971.0A CN103279455B (zh) | 2013-06-28 | 2013-06-28 | 电子表格的样式处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263971.0A CN103279455B (zh) | 2013-06-28 | 2013-06-28 | 电子表格的样式处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279455A CN103279455A (zh) | 2013-09-04 |
CN103279455B true CN103279455B (zh) | 2016-06-01 |
Family
ID=49061980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310263971.0A Active CN103279455B (zh) | 2013-06-28 | 2013-06-28 | 电子表格的样式处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279455B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731813A (zh) * | 2013-12-23 | 2015-06-24 | 珠海金山办公软件有限公司 | 表格文件显示方法及系统 |
CN104616088A (zh) * | 2014-09-28 | 2015-05-13 | 用友优普信息技术有限公司 | 快速填充表格的装置及方法 |
CN105988982A (zh) * | 2015-01-28 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 表格锁定方法及装置 |
CN106709032B (zh) * | 2016-12-29 | 2019-12-20 | 深圳市华傲数据技术有限公司 | 抽取电子表格文档中结构化信息的方法及装置 |
CN110209965A (zh) * | 2018-02-14 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 用于显示信息的方法和装置 |
CN110765079B (zh) * | 2018-07-27 | 2022-09-20 | 国信优易数据股份有限公司 | 一种表格信息的搜索方法及装置 |
CN110969000B (zh) * | 2018-09-30 | 2024-05-03 | 北京国双科技有限公司 | 数据合并的处理方法及装置 |
CN110287459B (zh) * | 2019-05-30 | 2023-12-22 | 平安科技(深圳)有限公司 | 表格批量处理方法、系统、装置及可存储介质 |
CN111290752B (zh) * | 2019-12-24 | 2024-02-20 | 明度智云(浙江)科技有限公司 | 一种web表格的边框处理方法和装置 |
CN111723560B (zh) * | 2020-07-15 | 2024-04-19 | 金蝶软件(中国)有限公司 | 一种表格并行显示区域动态调整方法、系统及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534306A (zh) * | 2009-04-14 | 2009-09-16 | 深圳市腾讯计算机系统有限公司 | 一种钓鱼网站的检测方法及装置 |
CN101556606A (zh) * | 2009-05-20 | 2009-10-14 | 同方知网(北京)技术有限公司 | 一种基于Web数值表格抽取的数据挖掘方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003131988A (ja) * | 2001-10-26 | 2003-05-09 | Matsushita Electric Ind Co Ltd | ホームページ更新装置、ホームページ更新方法、ホームページ更新プログラム記録媒体およびホームページ更新プログラム |
-
2013
- 2013-06-28 CN CN201310263971.0A patent/CN103279455B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534306A (zh) * | 2009-04-14 | 2009-09-16 | 深圳市腾讯计算机系统有限公司 | 一种钓鱼网站的检测方法及装置 |
CN101556606A (zh) * | 2009-05-20 | 2009-10-14 | 同方知网(北京)技术有限公司 | 一种基于Web数值表格抽取的数据挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103279455A (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103279455B (zh) | 电子表格的样式处理方法和装置 | |
CN103324731A (zh) | 将电子表格文件转换为网页格式文件的方法和装置 | |
CA2618211C (en) | Designating, setting and discovering parameters for spreadsheet documents | |
CN100359511C (zh) | 文件处理装置和文件处理方法 | |
CN111259644B (zh) | 富文本处理方法与编辑器、设备及存储介质 | |
CN106610774B (zh) | 网页表格编辑方法及装置 | |
CN105630843A (zh) | 网页变化监控方法及装置 | |
CN111126019B (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
CN109614601A (zh) | 基于web的表格处理方法、装置、设备及可读介质 | |
CN103678685A (zh) | 一种网页标注方法及装置 | |
CN111104557A (zh) | 基于标准文档标记语言规范的异构文档处理系统及方法 | |
CN106469140A (zh) | 一种报表生成系统及其方法 | |
CN109815435A (zh) | 一种网站页面生成方法、装置及电子设备 | |
CN103425690A (zh) | 一种基于样式表的图片信息标注和展示方法 | |
CN105373520A (zh) | 设置控件样式属性的方法和装置 | |
CN113238741A (zh) | 表单配置方法、装置、电子设备及存储介质 | |
WO2015112131A1 (en) | Multistage customizing of web-based application in a browser independent of platform and operating system | |
CN103365877B (zh) | 对网页进行转码后建立目录的方法以及服务器 | |
CN103176954A (zh) | 一种基于HTML5 canvas的数学公式显示方法及系统 | |
CN105956133B (zh) | 智能终端上显示文件的方法及装置 | |
CN111694493B (zh) | 一种网页截图方法、计算机设备及可读存储介质 | |
CN109492196B (zh) | 一种Excel表格数据提取的系统和方法 | |
CN109992580A (zh) | 列表数据的处理方法及装置、存储介质、计算机设备 | |
CN104346174A (zh) | 一种在线矢量图建模过程的描述与重现方法 | |
CN115309476A (zh) | 一种基于浏览器的ofd文件显示和编辑方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |