专利名称:表格头的处理方法和系统的制作方法
表格头的处理方法和系统
技术领域:
本发明涉及计算机技术,特别是涉及一种表格头的处理方法和系统。背景技术:
在使用计算机处理大量符合一定规则的数据时,表格是最常见的一种方式。特别是在企业ERP(Enterprise Resource Planning,企业资源规划)产品中,最不可少的视图单元就是表格,而要想展示复杂的数据时,就一定要用到嵌套的表格头才能够表达出数据间的包含关系。例如,在表示时间的表格头中,上级列头“年份”包含了 12个下级列头“月份”。嵌套的表格头虽然已经被广泛引用,在显示的时候具备嵌套形式以体现包含关系,但在后台处理的过程中,传统的嵌套形式的表格头采用逐个创建定义的方式,导致不同的表格兼容性差,即不便于不同的表格间的互相应用查找、已有数据的直接使用。
发明内容基于此,有必要针对传统的表格头的处理方式兼容性差的问题,提供一种表格头的处理方法。一种表格头的处理方法,包括以下步骤创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元;记录所述上级单元涵盖的至少一个表格头单元;遍历循环所述数据单元集合类的每一个元素;判断元素的类型,如果是基础单元,则传递给视图单元创建一个基础单元的指令, 如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令。在优选的实施方式中,所述取得所述上级单元涵盖的基础单元的个数的步骤为统计所述上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。在优选的实施方式中,还包括创建数据栏类的步骤,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。在优选的实施方式中,还包括创建数据栏集合类的步骤,所述数据栏集合类包含所述基础单元。在优选的实施方式中,还包括创建数据带类的步骤,所述上级单元的属性记录在所述数据带类中。此外,还有必要针对传统的表格头的处理方式兼容性差的问题,提供一种表格头的处理系统。一种表格头的处理系统,包括创建单元,用于创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元;记录单元,用于记录所述上级单元涵盖的至少一个表格头单元;查询单元,用于遍历循环所述数据单元集合类的每一个元素;视图单元,用于创建表格;识别单元,用于判断元素的类型,如果是基础单元,则传递给所述视图单元创建一个基础单元的指令,如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令。在优选的实施方式中,所述识别单元取得上级单元涵盖的基础单元的个数的过程为统计所述上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。在优选的实施方式中,所述创建单元还用于创建数据栏类,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。在优选的实施方式中,所述创建单元还用于创建数据栏集合类,所述数据栏集合类包含所述基础单元。在优选的实施方式中,所述创建单元还用于创建数据带类,所述上级单元的属性记录在所述数据带类中。上述表格头的处理方法和系统,通过将表格头单元分为基础单元和上级单元,记录上级单元涵盖的表格头单元,表格头中的各个单元之间不再是独立的,而是相互关联的, 在需要引用时,能够方便的得到某个单元的从属关系,从而便于应用查找。
图1为一实施方式的表格头的处理方法的流程图;图2为表格头的示意图;图3为一实施方式的表格头的处理系统的结构示意图。
具体实施方式如图1所示,一实施方式的表格头的处理方法,包括以下步骤步骤S110,创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元。一般的表格通过网格将表格头划分成若干个单元,表格头以各个单元为单位进行拆解。通过对表格头进行拆解,将拆解后的表格头划分为表格头单元。如图2所示, 不同的单元用于定义其对应的数据类别,例如单元内名称为“年度”下面对应的数据为各个年度,如2009、2010等,单元内名称为“季度”下面对应的数据为年内的各个季度,如第一季度、第二季度、第三季度、第四季度等。在图2中,表格头将数据以列的形式进行划分,在其他实施方式中,还可以是表格头将数据以行的形式进行划分。按照表格头内各单元与数据区的接近程度,表格头单元分为基础单元和上级单元。将紧接数据区的单元作为基础单元, 相对于基础单元远离数据区的作为上级单元。例如,在图2中,名称为“产品A”的单元紧接数据区,因此名称为“产品A”的单元为基础单元,名称为“主营业务”的单元相对于名称为 “产品A”的单元远离数据区,因此名称为“主营业务”的单元为上级单元。步骤S120,记录上级单元涵盖的至少一个表格头单元。因为上级单元远离数据区, 因此其至少涵盖一个表格头单元,即至少涵盖一个基础单元和其他上级单元。需要将这种涵盖关系记录下来,便于找到对应关系。例如,在图2中,名称为“主营业务”的上级单元涵盖名称为“产品A”、“产品B”的基础单元,名称为“华东区”的上级单元涵盖名称为“主营业务”、“其他业务”的上级单元。也就是说,上级单元涵盖的表格头单元中,既有可能是基础单元,还有可能是低一级的上级单元。步骤S130,遍历循环数据单元集合类的每一个元素。在步骤SllO和S120中根据用户的输入指令,创建数据单元集合类并记录表格头单元涵盖关系后,在显示表格头时,遍历循环数据单元集合类的每一个元素,例如逐个读取表格头单元。步骤S140,判断元素的类型,如果是基础单元,则进入步骤S150,否则进入步骤 S160。步骤S150,递给视图单元创建一个基础单元的指令,然后进入步骤S170。步骤S160,取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令,然后进入步骤S170。因为上级单元涵盖的表格头单元中, 既有可能是基础单元,还有可能是低一级的上级单元,在上级单元涵盖的表格头单元全部是基础单元时,可以直接取得上级单元涵盖的基础单元的个数;在上级单元涵盖的表格头单元中包括低一级的上级单元时,通过低一级的上级单元逐级取得其涵盖的基础单元的个数,再统计所有的基础单元的个数之和。也就是说,取得所述上级单元涵盖的基础单元的个数为统计上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。取得上级单元涵盖的基础单元的个数后,就可以依据该个数获得该上级单元横跨表格的多少列或者多少行。例如,在图2中,名称为“华东区”的上级单元横跨表格的三列。另外,在创建上级单元之前,还可以判断该上级单元所涵盖的表格头单元是否都已经创建,如果未创建,可以先创建该上级单元所涵盖的表格头单元。步骤S170,判断是否循环完毕,即数据单元集合类的每一个元素是否都已经访问, 如果是,则流程结束,否则返回步骤S130继续访问。上述表格头的处理方法中,通过将表格头单元分为基础单元和上级单元,记录上级单元涵盖的表格头单元,表格头中的各个单元之间不再是独立的,而是相互关联的,在需要引用时,能够方便的得到某个单元的从属关系,从而便于应用查找。并且,上述表格头的处理方法是与表格的数据无关的,对数据关系不作任何要求,任何的显示控件下都可以支持。在优选的实施方式中,还包括创建数据栏类的步骤,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。基础单元的属性可以是基础单元的名称、位置、栏宽、栏高等。视图单元在创建基础单元的过程中,根据上述属性,创建具有相应名称、位置、栏宽、栏高的基础单元。另外,还可以创建数据栏集合类,数据栏集合类内包括上述的基础单元。通过创建数据栏集合类,方便对基础单元进行管理、整体的调用。步骤S130中遍历循环数据单元集合类的每一个元素的步骤,还可以是读取数据栏集合类,再由数据栏集合类找到基础单元。在优选的实施方式中,还包括创建数据带类的步骤,所述上级单元的属性记录在所述数据带类中。上级单元的属性可以是上级单元的名称、栏宽、栏高、涵盖的基础单元等。此外,还提供了一种表格头的处理系统。如图3所示,表格头的处理系统300包括创建单元310、记录单元320、查询单元330、识别单元340及用于创建表格的视图单元350。
创建单元310用于创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元。一般的表格通过网格将表格头划分成若干个单元,表格头以各个单元为单位进行拆解。通过对表格头进行拆解,将拆解后的表格头划分为表格头单元。如图 2所示,不同的单元用于定义其对应的数据类别,例如单元内名称为“年度”下面对应的数据为各个年度,如2009、2010等,单元内名称为“季度”下面对应的数据为年内的各个季度, 如第一季度、第二季度、第三季度、第四季度等。在图2中,表格头将数据以列的形式进行划分,在其他实施方式中,还可以是表格头将数据以行的形式进行划分。按照表格头内各单元与数据区的接近程度,表格头单元分为基础单元和上级单元。将紧接数据区的单元作为基础单元,相对于基础单元远离数据区的作为上级单元。例如,在图2中,名称为“产品A”的单元紧接数据区,因此名称为“产品A”的单元为基础单元,名称为“主营业务”的单元相对于名称为“产品A”的单元远离数据区,因此名称为“主营业务”的单元为上级单元。记录单元120用于记录所述上级单元涵盖的至少一个表格头单元。因为上级单元远离数据区,因此其至少涵盖一个表格头单元,即至少涵盖一个基础单元和其他上级单元。 需要将这种涵盖关系记录下来,便于找到对应关系。例如,在图2中,名称为“主营业务”的上级单元涵盖名称为“产品A”、“产品B”的基础单元,名称为“华东区”的上级单元涵盖名称为“主营业务”、“其他业务”的上级单元。也就是说,上级单元涵盖的表格头单元中,既有可能是基础单元,还有可能是低一级的上级单元。查询单元330用于遍历循环所述数据单元集合类的每一个元素。创建单元310和记录单元320根据用户的输入指令,创建数据单元集合类并记录表格头单元涵盖关系后, 在显示表格头时,遍历循环数据单元集合类的每一个元素,例如逐个读取表格头单元。识别单元340用于判断元素的类型,如果是基础单元,则传递给所述视图单元350 创建一个基础单元的指令,如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元350创建所述上级单元的指令。因为上级单元涵盖的表格头单元中,既有可能是基础单元,还有可能是低一级的上级单元,在上级单元涵盖的表格头单元全部是基础单元时,可以直接取得上级单元涵盖的基础单元的个数;在上级单元涵盖的表格头单元中包括低一级的上级单元时,通过低一级的上级单元逐级取得其涵盖的基础单元的个数,再统计所有的基础单元的个数之和。也就是说,识别单元340取得上级单元涵盖的基础单元的个数的过程为统计所述上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。取得上级单元涵盖的基础单元的个数后,就可以依据该个数获得该上级单元横跨表格的多少列或者多少行。例如,在图2中,名称为“华东区”的上级单元横跨表格的三列。另外,在创建上级单元之前,还可以判断该上级单元所涵盖的表格头单元是否都已经创建,如果未创建,可以先创建该上级单元所涵盖的表格头单元。在优选的实施方式中,所述创建单元还用于创建数据栏类,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。基础单元的属性可以是基础单元的名称、位置、栏宽、栏高等。视图单元在创建基础单元的过程中,根据上述属性,创建具有相应名称、位置、栏宽、栏高的基础单元。另外,所述创建单元还用于创建数据栏集合类,所述数据栏集合类包含所述基础单元。通过创建数据栏集合类,方便对基础单元进行管理、整体的调用。查询单元330遍历循环数据单元集合类的每一个元素,还可以是读取数据栏集合类,再由数据栏集合类找到基础单元。
6
在优选的实施方式中,所述创建单元还用于创建数据带类,所述上级单元的属性记录在所述数据带类中。上级单元的属性可以是上级单元的名称、栏宽、栏高、涵盖的基础单元等。上述表格头的处理系统中,通过将表格头单元分为基础单元和上级单元,记录上级单元涵盖的表格头单元,表格头中的各个单元之间不再是独立的,而是相互关联的,在需要引用时,能够方便的得到某个单元的从属关系,从而便于应用查找。并且,上述表格头的处理系统是与表格的数据无关的,对数据关系不作任何要求,任何的显示控件下都可以支持。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种表格头的处理方法,包括以下步骤创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元;记录所述上级单元涵盖的至少一个表格头单元;遍历循环所述数据单元集合类的每一个元素;判断元素的类型,如果是基础单元,则传递给视图单元创建一个基础单元的指令,如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令。
2.根据权利要求1所述的表格头的处理方法,其特征在于,所述取得所述上级单元涵盖的基础单元的个数的步骤为统计所述上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。
3.根据权利要求1所述的表格头的处理方法,其特征在于,还包括创建数据栏类的步骤,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。
4.根据权利要求3所述的表格头的处理方法,其特征在于,还包括创建数据栏集合类的步骤,所述数据栏集合类包含所述基础单元。
5.根据权利要求4所述的表格头的处理方法,其特征在于,还包括创建数据带类的步骤,所述上级单元的属性记录在所述数据带类中。
6.一种表格头的处理系统,其特征在于,包括创建单元,用于创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元;记录单元,用于记录所述上级单元涵盖的至少一个表格头单元;查询单元,用于遍历循环所述数据单元集合类的每一个元素;视图单元,用于创建表格;识别单元,用于判断元素的类型,如果是基础单元,则传递给所述视图单元创建一个基础单元的指令,如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令。
7.根据权利要求6所述的表格头的处理系统,其特征在于,所述识别单元取得上级单元涵盖的基础单元的个数的过程为统计所述上级单元直接涵盖的基础单元和间接涵盖的基础单元的个数之和。
8.根据权利要求1所述的表格头的处理系统,其特征在于,所述创建单元还用于创建数据栏类,所述基础单元的属性记录在所述数据栏类中,所述视图单元根据所述基础单元的属性创建所述基础单元。
9.根据权利要求8所述的表格头的处理系统,其特征在于,所述创建单元还用于创建数据栏集合类,所述数据栏集合类包含所述基础单元。
10.根据权利要求9所述的表格头的处理系统,其特征在于,所述创建单元还用于创建数据带类,所述上级单元的属性记录在所述数据带类中。
全文摘要
一种表格头的处理方法,包括以下步骤创建包括表格头单元的数据单元集合类,所述表格头单元分为基础单元和上级单元;记录所述上级单元涵盖的至少一个表格头单元;遍历循环所述数据单元集合类的每一个元素;判断元素的类型,如果是基础单元,则传递给视图单元创建一个基础单元的指令,如果是一个上级单元,则取得所述上级单元涵盖的基础单元的个数,并依据所述个数传递给视图单元创建所述上级单元的指令。此外,还提供了一种表格头的处理系统。
文档编号G06F17/30GK102567349SQ20101059576
公开日2012年7月11日 申请日期2010年12月20日 优先权日2010年12月20日
发明者乔世伟, 王林 申请人:金蝶软件(中国)有限公司