电子表格的数据分割和合并方法

文档序号:6372559阅读:184来源:国知局
专利名称:电子表格的数据分割和合并方法
电子表格的数据分割和合并方法
技术领域
本发明涉及数据处理领域,特别涉及一种电子表格数据处理方法及一种电子表格的数据分割和合并方法。
背景技术
电子表格(Spreadsheet)可以用于在电子设备中输入输出、显示数据,可以帮助用户制作各种复杂的电子表格文档,进行数据计算,并能对输入的数据进行各种复杂统计运算后显示为表格。通常,电子表格具有许多以矩阵形式连续排列的单元格,数据可以显示在电子表格中的各个单元格中。单元格的垂直排列称为“列”,水平排列称为“行”。由于从其他应用程序中(例如网页、开发平台)复制的数据往往不符合电子表格的行列分隔格式,为了应用,必须对数据进行转换,例如Excel数据菜单下的分列功能,可 以对一定规律的数据进行分隔处理。有时,需要将电子表格的数据转换成其他应用对应的分隔格式。数据项分隔格式的合理性,对数据的可读性、直观性有很大影响。合理的分隔格式减少了不必要的转换工作,增强了可读性,可理解性,使得用户容易理解数据的意义,不易产生误解。然而,在现有电子表格比如Excel中数据分割方式比较少,例如选择性粘贴功能中只能将源数据进行转置,数据分列功能只能在一行中进行分隔,例如当用户需要将单个单元格中有序的数据序列分隔时,可以利用数据菜单中的“分列”功能使得数据按照某种规则分配至一行的多个单元格中。反之,称为数据合并。由于分隔格式较少,对数据的可读性、直观性有很大影响。因此,有必要提供一种新的技术方案来解决上述问题。

发明内容本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。本发明的目的之一在于提供一种电子表格的数据分割方法,其可以实现电子表格数据的矩阵式分割,从而使电子表格数据的组织方式更加灵活,数据格式显示更加直观,便于和其他矩阵或向量形式的数据应用进行交换。本发明的目的之二在于提供一种电子表格的数据合并方法,其可以实现电子表格数据的矩阵式合并,从而使电子表格数据的组织方式更加灵活,便于和其他矩阵或向量形式的数据应用进行交换。为了达到本发明的目的,根据本发明的一个方面,本发明提供一种电子表格的数据分割方法,所述电子表格包括多个单元格,所述方法包括设置行分隔符或行宽度和列分隔符或列宽度;读入原始字符串;用所述行分隔符或行宽度将所述原始字符串划分成若干子字符串,用所述列分隔符或列宽度分别将对应的子字符串继续划分成数据项;和将各行各列的数据项保存到对应的单元格中。根据本发明的另一个方面,本发明提供一种电子表格的数据合并方法,所述电子表格包括多个单兀格,其特征在于,所述方法包括设置行分隔符和列分隔符;分配字符串缓冲区;逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符,每遇到一个行尾数据项添加一个行分隔符;在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。根据本发明的另一个方面,本发明提供一种另一种电子表格的数据合并方法,所述电子表格包括多个单元格,所述方法包括设置行宽度和列宽度;分配字符串缓冲区;逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每添加一个数据项就补足一定数量的空格以使得补充的空格与所添加的数据项的宽度和等于所述列宽度,每添加完一行数据项就补足一定数量的空格以使得补充的空格与所添加的一行数据项的宽度和等于所述行宽度;在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单兀格中。 与现有技术相比,在本发明中通过设置行分隔符和列分隔符或者设置行宽度或者列宽度,以实现电子表格数据的矩阵式合并或分隔,从而使电子表格数据的组织方式更加灵活,数据格式显示更加直观,便于和其他矩阵或向量形式的数据应用进行交换。

结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中图I为本发明中的电子表格的数据分割方法的一个实施例的流程示意图;图2为本发明中的电子表格的数据合并方法的一个实施例的流程示意图;图3A和图3B为图I和2中的电子表格的分割和合并方法的一个应用示例;图4为本发明中的电子表格的数据分割方法的另一个实施例的流程示意图;图5为本发明中的电子表格的数据合并方法的另一个实施例的流程示意图;图6A和图6B为图4和5中的电子表格的分割和合并方法的一个应用不例。
具体实施方式本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法、程序、成分和电路已经很容易理解,因此它们并未被详细描述。此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。本发明中提供的电子表格的数据分割或/和合并方法的一个重点和亮点是通过设置行分隔符和列分隔符或者设置行宽度或者列宽度,以实现电子表格数据的矩阵式合并与分割,从而使电子表格数据的组织方式更加灵活,数据格式显示更加直观,便于和其他矩阵或向量形式的数据应用进行交换。以下具体介绍电子表格以分隔符的方式进行数据分隔与合并的方法。
请参考图I所示,其示出了本发明中的电子表格以分隔符的方式进行数据分隔的流程。如图I所示,所述数据分割方法100包括如下步骤。步骤110,设置行分隔符和列分隔符。所述分隔符可以为逗号、分号、空格等各种符号,但是行分隔符和列分隔符不能相同。步骤120,读入原始字符串,该原始字符串中包括所述行分隔符、所述列分隔符和数据项。此步骤中,可以选定源单元格,读入源单元格中存储的原始字符串。步骤130,用所述行分隔符将所述原始字符串划分成若干子字符串,用列所述列分隔符分别将对应的子字符串继续划分成数据项。步骤140,保存各行各列的数据项到对应的单元格中。此时,可以将不同的子字符串的各个数据项保存到不同行单元格中,将同一子字符串的各个数据项保存到同一行的不同列单元格中。在一个实施例中,在步骤110中设置行分隔符和列分隔符时还设置边界符,所述边界符包括首边界符和尾边界符。所述原始字符串也包括边界符,在进行行列分割时从首边界符开始进行分割,到尾边界符结束,即对所述原始字符串中的位于首边界符和尾边界符之间的部分进行行列分割。当然也可以不设置边界符,默认情况下没有边界符。图3A和图3B可以表示图I中的数据分割方法的一个应用示例,图3A中为分割前的原始字符串,{I, 2,3;4, 5,6;7, 8,9},其中设置边界符为“ {} ”,列分隔符为“,”,行分隔符为“;”在图I中的所述分割方法后可以得到如图3B所示的数据矩阵。具体分割过程为根据行分隔符“;”将原始字符串分割成1,2, 3、4,5, 6和7,8, 9三个子字符串,根据列分隔符“,”分别对三个子字符串进行分割得到数据项“1”,“2”,……,“9”。在其它应用中,也可以是其它类型的行分隔符、列分隔符和边界符号,也可以没有边界符,数据项也可以是其他任意的数据项。请参考图2所示,其示出了本发明中的电子表格以分隔符的方式进行数据合并的流程。如图2所示,所述数据合并方法200包括如下步骤。步骤210,设置行分隔符和列分隔符。分隔符可以为逗号、分号、空格等各种符号,但是行分隔符和列分隔符不能相同。步骤220,分配字符串缓冲区。步骤230,逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符,每遇到一个行尾数据项添加一个行分隔符;步骤240,在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
在一个实施例中,在步骤210中设置行分隔符和列分隔符时还设置包括首边界符和尾边界符的边界符,那么在读取选定单元格区域内的第一个数据项前,可以在所述字符串缓冲区中添加首边界符,在读取选定单元格区域内的第一个数据项后,可以在所述字符串缓冲区中的字符串中添加尾边界符。图3A和图3B也可以用来表示图2中的数据合并方法的一个应用示例,图3B中为合并前的数据矩阵,选定的单元格区域包括Al、A2、A3、BI、B2、B3、Cl、C2、C3,设置边界符为“H”,列分隔符为“,”,行分隔符为“;”,图3A为合并后的结果,其中结果单元为Al。具体合并过程为先添加首边界符,先读取第一行第一列的数据项“ I”,之后在数据项“ I”后添加列分隔符“,”,在读取第一行第二列的数据项“2”,……,在读取第一行第三列的数据项“3”后,由于其是行尾数据项则在数据项“3”后添加行分隔符,……,在读后第三行第三列的数据项“9”后,由于其是最后一个数据项,则在该数据项“9”后添加尾边界符。为了简便,在本发明中的图I的数据分割方法和图2中的数据合并方法采用了同样的两幅图。在其它实施例子中,可以采用不同的应用示例,边界符和分隔符都可以改变,也可以不设置所述边界符。
接下来介绍电子表格以固定宽度方式进行数据分隔与合并的方法。请参考图4所示,其示出了本发明中的电子表格以固定宽度方式进行数据分隔的流程图。如图4所示,所述数据分割方法400包括以下步骤。步骤410,读入原始字符串。选定源单元格,读入源单元格中存储的原始字符串。步骤420,设置行宽度和列宽度。步骤430,依据所述行宽度将所述原始字符串划分成若干子字符串,根据所述列宽度分别将对应子字符串继续划分成数据项。步骤440,保存各行各列的数据项到相应的单元格中。将不同的子字符串的各个数据项保存到不同行单元格中,将同一子字符串的各个数据项保存到同一行的不同列单元格中。其中列宽度可以为多个,比如第一列宽度,第二列宽度等等,以第一列宽度为列宽对各个子字符串进行分割得到各个行的第一列,以第二列宽度为列宽对各个子字符串进行第一列分割后剩余的部分进行分割得到各个行的第二列,以此类推。当然,列宽度也可以是只有一个宽度,即所有的列宽都是相同的。图6A和图6B可以表示图4中的数据分割方法的一个应用示例,图6A中为源单元格Al中的分割前的原始字符串1 2 3 4 5 6 7 8 a b cd,其中I和2之间有I个空格,2和3之间有3个空格,3和4之间有三个空格,4和5之间有I个空格,5和6之间有一个空格,6和7之间有两个空格,7和8之间有三个空格,8和a之间有一个空格,a和b之间有一个空格,b和c之间有两个空格,c和d之间有三个空格。设定行固定宽度为11个字符,设定第一列宽度为2个字符,第二列宽度为3个字符,第三个列宽度为4个字符,第四个列宽度为2个字符。因此,利用行固定宽度进行分割后得到的三个子字符串为,I 2 3 4,5 6 7 SjPab c d。之后利用列固定宽度进行分割后得到如图6B所示的矩阵。请参考图5所示,其示出了本发明中的电子表格以固定宽度方式进行数据合并的流程图。如图5所示,所述数据合并方法500包括以下步骤。
步骤510,设置行宽度和列宽度。步骤520,分配字符串缓冲区。步骤530,逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每添加一个数据项就补足一定数量的空格以使得补充的空格与所添加的数据项的宽度和等于所述列宽度,每添加完一行数据项就补足一定数量的空格以使得补充的空格与所添加的一行数据项的宽度和等于所述行宽度。步骤540,在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。其中,所述列宽度大于等于最宽数据项的宽度,所述行宽度大于等于最宽行的宽 度。其中列宽度可以为多个,比如第一列宽度,第二列宽度等等。图6A和图6B还可以表示图5中的数据合并方法的一个应用示例,图6B中为合并前的数据矩阵,选定的单元格区域包括A1-A4,B1-B4,C1-C4和D1-D4,设定行固定宽度为11个字符,第一列宽度为2个字符,第二列宽度为3个字符,第三个列宽度为4个字符,第四个列宽度为2个字符。那么合并之后的字符串为I 2 3 4 5 6 7 8 a b c d,其中I和2之间有I个空格,2和3之间有3个空格,3和4之间有三个空格,4和5之间有I个空格,5和6之间有一个空格,6和7之间有两个空格,7和8之间有三个空格,8和a之间有一个空格,a和b之间有一个空格,b和c之间有两个空格,c和d之间有三个空格。在另一个实施例中,基于类似原理,还可以采用固定宽度和分隔符的方式混合进行数据分割和合并。在一个实施例中,先以分隔符的方式进行分行,后以固定宽度的方式进行分列。所述数据分割方法包括以下步骤设置行分隔符和列宽度;读入原始字符串,该原始字符串中包括所述行分隔符;用所述行分隔符将所述原始字符串划分成若干子字符串,用列宽度分别将对应的子字符串继续划分成数据项;保存各行各列的数据项到对应的单元格中。在另一个实施例中,也可以先以固定宽度的方式进行分列,后以分隔符的方式进行分列。所述数据分割方法包括以下步骤设置行宽度和列分隔符;读入原始字符串,该原始字符串中包括所述列分隔符;用所述行宽度将所述原始字符串划分成若干子字符串,用列分隔符分别将对应的子字符串继续划分成数据项;保存各行各列的数据项到对应的单元格中。在一个实施例中,所述数据合并方法包括设置行分隔符和列宽度;分配字符串缓冲区;逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后就补足一定数量的空格以使得补充的空格与所添加的数据项的宽度和等于所述列宽度,每遇到一个行尾数据项添加一个行分隔符;在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。在另一个实施例中,所述电子表格的数据合并方法,所述方法包括设置列分隔符和行宽度;分配字符串缓冲区;逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符,每遇到一个行尾数据项就补足一定数量的空格以使得补充的空格与所添加的一行数据项的宽度和等于所述行宽度;在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
本发明所述的电子表格数据处理系统可用于众多通用或者专用的计算系统环境或者配置中。例如个人计算机、服务器计算机、手持设备或者便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或者设备的分布式计算环境等等。此外,所述电子表格数据处理系统还可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般的,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。综上所述,在本发明中通过设置行分隔符和列分隔符或者设置行宽度或者列宽度,以实现电子表格数据的矩阵式分隔,以扩展了电子表格数据的分列功能,同时本发明还可以实现矩阵式数据的合并,使电子表格中的数据组织方式更加灵活,数据格式显示更加直观,便于和其他矩阵或向量形式的数据应用进行交换。上述说明已经充分揭露了本发明的具体实施方式
。需要指出的是,熟悉该领域的 技术人员对本发明的具体实施方式
所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于所述具体实施方式

权利要求
1.一种电子表格的数据分割方法,所述电子表格包括多个单兀格,其特征在于,所述方法包括 设置行分隔符或行宽度和列分隔符或列宽度; 读入原始字符串; 用所述行分隔符或行宽度将所述原始字符串划分成若干子字符串,用所述列分隔符或列宽度分别将对应的子字符串继续划分成数据项;和 将各行各列的数据项保存到对应的单元格中。
2.根据权利要求I所述的数据分割方法,其特征在于,将不同的子字符串的各个数据项保存到不同行单元格中,将同一子字符串的各个数据项保存到同一行的不同列单元格中。
3.根据权利要求I所述的数据分割方法,其特征在于,设置的是行分隔符和列分隔符,所述原始字符串中包括行分隔符和列分隔符,此时以行分隔符将所述原始字符串划分成若干子字符串,用所述列分隔符分别将对应的子字符串继续划分成数据项。
4.根据权利要求I所述的数据分割方法,其特征在于,设置的是行分隔符和列宽度,所述原始字符串中包括行分隔符,此时以行分隔符将所述原始字符串划分成若干子字符串,用所述列宽度分别将对应的子字符串继续划分成数据项。
5.根据权利要求I所述的数据分割方法,其特征在于,设置的是行宽度和列分隔符,所述原始字符串中包括列分隔符,此时以行宽度将所述原始字符串划分成若干子字符串,用所述列分隔符分别将对应的子字符串继续划分成数据项。
6.根据权利要求3所述的数据分割方法,其特征在于,在设置行分隔符和列分隔符时还设置边界符,所述边界符包括首边界符和尾边界符,所述原始字符串也包括边界符,将所述原始字符串中的位于首边界符和尾边界符之间的部分进行行列分割。
7.一种电子表格的数据合并方法,所述电子表格包括多个单元格,其特征在于,所述方法包括 设置行分隔符和列分隔符; 分配字符串缓冲区; 逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符,每遇到一个行尾数据项添加一个行分隔符; 在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
8.根据权利要求7所述的数据合并方法,其特征在于,在设置行分隔符和列分隔符时还设置包括首边界符和尾边界符的边界符,在读取选定单元格区域内的第一个数据项前,在所述字符串缓冲区中添加首边界符,在读取选定单元格区域内的最后一个数据项后,在所述字符串缓冲区中的字符串中添加尾边界符。
9.一种电子表格的数据合并方法,所述电子表格包括多个单兀格,其特征在于,所述方法包括 设置行宽度和列宽度; 分配字符串缓冲区; 逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每添加一个数据项就补足一定数量的空格以使得补充的空格与所添加的数据项的宽度和等于所述列宽度,每添加完一行数据项就补足一定数量的空格以使得补充的空格与所添加的一行数据项的宽度和等于所述行宽度; 在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
10.一种电子表格的数据合并方法,所述电子表格包括多个单兀格,其特征在于,所述方法包括 设置行分隔符和列宽度; 分配字符串缓冲区; 逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后就补足一定数量的空格以使得补充的空格与所添加的数据项的宽度和等于所述列宽度,每遇到一个行尾数据项添加一个行分隔符; 在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
11.一种电子表格的数据合并方法,所述电子表格包括多个单兀格,其特征在于,所述方法包括 设置列分隔符和行宽度; 分配字符串缓冲区; 逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符,每遇到一个行尾数据项就补足一定数量的空格以使得补充的空格与所添加的一行数据项的宽度和等于所述行宽度; 在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中。
全文摘要
本发明公开了一种电子表格的数据分割和合并方法。所述数据分割方法用行分隔符或行宽度将原始字符串划分成若干子字符串,用列分隔符或列宽度分别将对应的子字符串继续划分成数据项,随后将各行各列的数据项保存到对应的单元格中,这样实现了电子表格数据的矩阵式分隔。所述数据合并方法逐行逐列读取选定单元格区域内的数据项到所述字符串缓冲区,每读取一个数据项后添加一个列分隔符或补充一定数量的空格,每遇到一个行尾数据项添加一个行分隔符或补充一定数据量空格,在读完选定单元格区域内的数据项后,将所述字符串缓冲区中得到的字符串存储到结果单元格中,这样就实现了矩阵式数据的合并。这样便于和其他矩阵或向量形式的数据应用进行交换。
文档编号G06F17/24GK102799574SQ201210226050
公开日2012年11月28日 申请日期2012年6月29日 优先权日2012年6月29日
发明者俞志刚 申请人:无锡永中软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1