基于时间序列的电子表格数据处理方法

文档序号:6557582阅读:106来源:国知局
专利名称:基于时间序列的电子表格数据处理方法
技术领域
本发明涉及一种基于时间序列的电子表格数据处理方法,尤其是一种利用时间规律对电子表格中具有时间属性的数据对象进行计算的方法。
背景技术
目前,在商业、生活、科研等各个领域的实际应用中,经常需要按照时间规律对电子表格中具有时间属性的数据对象进行分割计算,例如,电子表格中记录了某公司在2001年至2005年间各月份的财政支出情况,此时,表示某月份财政支出情况的数据对象便具有了时间属性,若欲获知该公司在这5年间各季度的财政支出情况时,便需要对电子表格中的数据对象按照季度进行分割与汇总。现有技术中,用户无法利用时间规律对具有时间属性的数据对象进行相应的处理,只能手动设置需要的计算公式并逐一输入待处理的数据进行计算,然后再以手工方式将计算结果数据填入电子表格中。由于需要计算的数据对象的数据量通常都很庞大,这就需要用户通过手工进行大量繁琐的重复性操作,不仅浪费了用户的时间和精力,还降低了工作效率,而且会导致出错率很高。

发明内容
本发明的目的在于针对现有技术无法利用时间规律对电子表格中具有时间属性的数据对象进行计算的缺陷与不足,提供一种基于时间序列的电子表格数据处理方法,该方法可利用时间规律对电子表格中具有时间属性的数据对象进行分割计算,从而避免用户的繁琐操作,提高工作效率并降低出错率。
为实现上述目的,本发明提供的一种电子表格数据的处理方法,执行以下步骤步骤1、接收到对具有时间属性的数据对象进行计算的处理请求信息后,读取电子表格中基本期间信息,并根据所述处理请求信息中的计算方式信息确定每个计算结果数据所包含的基本期间以及该计算结果数据在电子表格中的写入位置;步骤2、生成对所述计算结果数据所包含的基本期间进行计算的计算公式,然后利用该计算公式对数据对象进行计算,并按照处理请求信息的要求将计算后生成的计算结果数据写入电子表格中。
在上述技术方案中,步骤1之前还包括步骤A、向电子表格中写入项目信息、项目的数据对象与基本期间信息,所述项目信息包括项目名称信息与该项目信息所在的起始单元格地址等信息,所述基本期间信息包括期间类型信息、期间数目信息与起始时间信息;步骤B、向应用程序发送对数据对象进行计算的处理请求信息,该处理请求信息中携带了计算方式信息及将计算后所得的计算结果数据的写入位置信息。
其中,步骤A中写入项目信息的具体操作为步骤A11、向应用程序发送向电子表格中写入项目信息的请求信息,所述项目信息包括项目名称信息及所述项目信息所在的起始单元格地址等信息;步骤A12、所述应用程序将所述项目信息写入系统表中;同时,根据所述起始单元格地址计算所述项目名称信息的单元格地址,然后,将所述项目名称信息写入计算出的单元格地址对应的单元格中。
步骤A中写入基本期间信息的具体操作为
步骤A21、向应用程序发送向电子表格中写入基本期间信息的请求信息,所述基本期间信息包括期间类型信息、期间数目信息与起始时间信息;步骤A22、所述应用程序根据所述期间类型信息、期间数目信息与起始时间信息计算每一个期间的时间段,并计算各时间段应写入电子表格的单元格的列号,根据各时间段及相应的列号分别生成时间段信息;步骤A23、所述应用程序将所述时间段信息写入系统表中;同时,将所述时间段信息写入所述起始单元格地址所对应的行中、与所述列号对应的单元格中。
由上述技术方案可知,本发明在向电子表格中写入具有时间属性的数据对象时,还写入了项目信息与基本区间信息,这样,在对数据对象进行处理时,用户只需要指定对电子表格中的数据对象的计算方式及计算结果数据在电子表格中的写入位置,系统便可根据计算方式自动对所属期间内的数据对象进行计算,操作简单,提高了工作效率,同时也降低了出错率,极大地方便了用户。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明基于时间序列的电子表格数据处理方法一实施例的流程图;图2为本发明基于时间序列的电子表格数据处理方法另一实施例的流程图;图3为本发明的写入项目信息的流程图;图4为本发明的写入基本期间信息的流程图。
具体实施例方式
参见图1,图1所示为本发明基于时间序列的电子表格数据处理方法一实施例的流程图,其执行以下步骤步骤1、当应用程序接收到对具有时间属性的数据对象进行计算的处理请求信息时,读取电子表格中预先写入的所有的基本期间信息,并根据处理请求信息中的计算方式信息确定每个计算结果数据所包含的期间以及该计算结果数据在电子表格中的写入位置。例如,当应用程序接收到对表示2005年各月份“收入”的数据对象按季度进行汇总的处理请求信息时,读取电子表格中的基本期间信息,确定2005年第一季度应该包含的基本期间为2005年1月、2005年2月与2005年3月,如果定义计算后所得的各季度的计算结果数据的写入位置在各季度所包含的基本期间之后,则需要将计算所得的2005年第一季度的收入数据写入电子表格中表示2005年3月“收入”的数据对象所在单元格的后一列,同理,将计算所得的2005年第二季度的收入数据写入电子表格中表示2005年6月“收入”的数据对象所在单元格的后一列,依此类推;为了便于用户观察,使用户明确各计算结果数据的含义,还需确定根据计算方式信息生成计算结果数据的标题名称并写入电子表格中的相应位置,例如,定义统计方式为按季度进行统计,则对于2005年第一季度的计算结果数据的标题名称便为“2005年第一季度”或者是“第一季/2005年”,如果定义计算后所得的各季度的计算结果数据的写入位置在各季度所包含的基本期间之后,则需要将标题名称写入电子表格中基本期间“2005年3月”的后一列;步骤2、应用程序生成对各计算结果数据所包含的基本期间进行计算的计算公式,然后利用该计算公式对数据对象进行计算,并按照处理请求信息的要求将计算后生成的计算结果数据写入电子表格中的相应位置,例如,若定义统计方式为按季度进行统计,起始时间为2005年1月,待计算的项目名称为“收入”,则各计算公式可以表示为sum(收入(2005年1月,2005年2月,2005年3月)),sum(收入(2005年4月,2005年5月,2005年6月)),……,等,并利用这些计算公式对各季度所包含的基本期间(例如2005年第一季度所包含的“2005年1月”、“2005年2月”与“2005年3月”)对应的表示“收入”的数据对象进行汇总,并将各季度的汇总所得的计算结果数据分别写入各季度所包含期间的最后一个期间的项目数据所在单元格的后一列单元格中,例如,分别将“2005年第一季度”、“2005年第二季度”“2005年第三季度”、“2005年第四季度”的“收入”计算结果数据分别写入“2005年3月”、“2005年6月”、“2005年9月”、与“2005年12月”的表示“收入”的数据对象所在的单元格的后一列单元格中。
在步骤2中,利用计算公式对数据对象进行计算时,为了便于应用程序识别计算公式,可以将计算公式中的项目名称信息与期间信息转换成电子表格地址信息,例如,将计算公式中的期间信息转换成该期间所在的列号信息,将项目名称信息转换成该项目名称所在地行号信息,由该行号及列号信息电子表格地址信息。根据该地址信息将计算公式转换成以单元格地址信息表示的电子表格公式,利用该电子表格公式对项目数据进行计算。例如,项目名称“收入”在第2行,期间“2005年1月”、“2005年2月”、“2005年3月”分别在第2、3、4列,则将计算公式sum(收入(2005年1月,2005年2月,2005年3月))中的“收入”、“2005年1月”、“2005年2月”与“2005年3月”转换成单元格地址A2、B1、C1、D1,并生成电子表格公式“=sum(B1,C1,D1)”,即对第2行中第2、3、4列的数据进行计算。
图2所示为本发明基于时间序列的电子表格数据处理方法另一实施例的流程图,该实施例在上述实施例的步骤1之前,加入了如下步骤步骤A、向电子表格中写入项目信息、项目的数据对象与基本期间信息,其中,项目信息包括项目名称(例如“收入”、“支出”)信息与该项目信息的起始单元格地址(例如第1行第2列)等信息,基本期间信息包括期间类型(例如年、月、周等)信息、期间数目信息(即定义多少个期间)与起始时间等信息(例如2005年1月);步骤B、向应用程序发送对数据对象进行计算的处理请求信息,该处理请求信息中携带了计算方式信息及计算后所得的计算结果数据的写入位置信息,例如,向应用程序发送对“收入”项目中的各数据对象按季度进行统计并将统计后所得的各季度的计算结果数据分别写入各季度所包含的期间后的请求信息。
在向电子表格中写入具有时间属性的数据对象时,还写入了项目信息与基本区间信息,因此可方便地根据三者的单元格地址建立三者之间的相互关系,用户只需要指定需要计算的数据对象以及计算方式,应用程序便可利用时间规律按照用户要求的计算方式对数据对象自动进行分割、计算,无需用户通过手工的方式逐一计算,简化了用户的操作流程,同时,提高了工作效率,也因减少了人为输入信息而降低了出错率,方便了用户。
在步骤A中,向电子表格中写入项目信息、数据对象与基本期间信息的时间顺序没有限制,可以同时写入以上信息,也可以先写入任意一个或者两个信息。其中,向电子表格中写入项目信息的操作具体可以通过图3所示的如下流程实现步骤A11、用户通过客户端向应用程序发送向电子表格的单元格中写入项目信息的请求信息,该项目信息包括项目名称例如“收入”、“支出”信息,以及该项目信息的起始单元格地址例如第1行第2列信息。当然,为了以后使用方便,用户还可以在项目信息中增加其它信息,例如数据对象的类型(如货币)信息,数据对象的长度信息,数据对象的格式信息,数据对象的公式信息如“收入-支出”,等;步骤A12、应用程序将项目信息及起始单元格地址信息写入系统表中;同时,根据起始单元格地址计算项目名称信息的单元格地址,然后将该项目名称信息写入该单元格地址对应的单元格中。
具体计算项目名称信息的单元格地址的方法可以是将起始单元格地址中的行号加1得到项目名称信息的单元格地址,例如起始单元格地址为第1行第2列,则在第2行第2列的单元格中写入“收入”项目名称信息。
在步骤A11中,用户也可以在项目信息中设置该数据对象的默认值,设置数据对象的值后,应用程序便可在与项目名称信息所在行与基本期间信息相交的单元格中写入设置的默认值,其中,具体列数的多少根据用户设置的期间数量决定,即为上述步骤1中定义的期间数目。例如,“收入”项目名称信息所在的单元格地址为第2行第2列,设置各期间“收入”的默认值为1000,则在电子表格第2行中与所有基本期间所在列对应的单元格中写入数据“1000”,具体在多少个列写入,由用户的设定决定。若同一项目中多数期间内“收入”的数据相同,则在定义项目信息时即可设定该默认数值,应用程序便可自动为用户输入各个期间的数据,无需用户逐一输入,简化了用户的操作流程,方便了用户。
在步骤A11与步骤A12之间,应用程序还校验用户输入的项目信息是否正确,如果正确,执行步骤A12;否则,结束操作。例如,判断该项目信息中是否包含公式,如果包含公式,则判断该公式是否正确。具体可以通过判断该公式所引用的字段是否存在来判断该公式是否正确。例如,当该公式为“收入-支出”时,应用程序可以将该公式解析为“收入”与“支出”字段,并在系统表中查询是否存在“收入”与“支出”字段,若均存在,则说明该公式正确,即用户输入的项目信息正确,执行步骤A12;否则,说明用户输入的项目信息错误,不向系统表中写入项目信息及起始单元格地址信息。这样,及时制止了用户输入错误的信息,避免了应用程序对错误信息的处理消耗系统资源,同时,也避免了因不必要的后续操作浪费用户的时间与精力。
在步骤A与步骤B之间,应用程序还判断系统表中是否存在基本期间信息,若不存在,则结束操作;若存在,则进一步判断项目信息中是否包含公式,若不包含,则执行步骤B;若包含,则应用程序对公式进行解析,如果公式中包含项目名称,获取该项目名称在电子表格中的行号,以及各基本期间在电子表格中的列号,根据该行号与每一列号分别生成相应的单元格地址,用该单元格地址替换公式中相应的项目名称,将替换后生成的新公式分别写入包含公式的项目名称所在行与各基本期间所在列交叉的单元格中。例如,项目信息“利润”中包含公式“收入-支出”,其中,项目信息“收入”在电子表格中的行号为2,项目信息“支出”在电子表格中的行号为3,项目信息“利润”在电子表格中的行号为4,基本期间“2005年1月”、“2005年2月”与“2005年3月”所在的列号分别为2、3、4,则针对基本期间“2005年1月”、“2005年2月”与“2005年3月”,生成的新公式分别为“=B2-B3”、“=C2-C3”、“=D2-D3”,将这三个公式分别写入电子表各种地址为B4、C4与D4的单元格中。
另外,在步骤A与步骤B之间,还执行通过客户端的操作界面写入对电子表格中的数据对象进行计算的计算方式信息及计算后所得的计算结果数据的写入位置信息的步骤。
参见图4,图4所示为本发明的向电子表格中写入基本期间信息的一具体流程,其执行以下步骤步骤401、用户通过客户端向应用程序发送向电子表格中写入基本期间信息的请求信息,该基本期间信息包括期间类型如天、周、月、季、年信息、期间数目信息与某一个项目的起始时间如2005年1月信息;步骤402、应用程序根据期间类型信息、期间数目信息与起始时间信息计算每一个期间的时间段,例如,在期间类型为季、起始时间为2005年1月1日的情况下,因为期间类型为季,相邻期间的时间间隔应为3个月,因此该项目的每一个期间的时间段分别为在起始时间2005年1月1日的基础上依次递加3个月,在期间数目为3的时,该项目的各个期间分别为2005年1月1日、2005年4月1日与2005年7月1日;步骤403、应用程序判断电子表格中是否存在项目信息,若不存在,则执行步骤404;若存在,执行步骤405;步骤404、应用程序根据当前焦点所在的单元格的地址计算各时间段分别应写入电子表格的单元格的列号;并根据各时间段及其相应的列号生成相应的时间段信息,然后将时间段信息写入系统表中;同时,还将各时间段信息如2005年1月1日、2005年4月1日与2005年7月1日分别写入相应的单元格中,然后执行步骤406;步骤405、应用程序根据项目信息的起始单元格地址计算各时间段分别应写入电子表格的单元格的列号;然后根据各时间段及其相应的列号生成相应的时间段信息,再将各个时间段信息写入系统表中;同时,还将各时间段信息如2005年1月1日、2005年4月1日与2005年7月1日分别写入相应的单元格中;步骤406、结束。
其中,步骤404与405中,应用程序计算各时间段分别应写入电子表格的单元格的列号时,具体可通过如下方式进行计算将当前焦点所在的单元格地址或起始单元格地址的列号加1得到第一个期间的单元格地址,然后将第一个期间的单元格地址的列号加1得到第二个期间的单元格地址,依次类推,将当前焦点所在的单元格地址或所述起始单元格地址的列号加n(n为大于0的整数)得到第n个期间的单元格地址。例如,某一项目信息的起始单元格地址为第1行第2列,则该项目信息从第一个期间起,各期间的单元格地址依次为第1行第3列、第1行第4列、第1行第5列、……、等,即其列号依次为第3列、第4列、第5列、……、等。根据步骤112中的实例,将“2005年1月1日”、“2005年4月1日”与“2005年7月1日”分别写入第1行第3列、第1行第4列与第1行第5列。
在步骤405与步骤B之间,应用程序还判断系统表中是否存在项目信息,若不存在,则结束操作;若存在,则进一步判断是否存在包含公式的项目名称信息,若不包含,则执行步骤B;若包含,则应用程序对公式进行解析,如果公式中包含项目名称,获取该项目名称在电子表格中的行号,以及各基本期间在电子表格中的列号,根据该行号与每一列号分别生成相应的单元格地址,用该单元格地址替换公式中相应的项目名称,将替换后生成的新公式分别写入包含公式的项目名称所在行与各基本期间所在列交叉的单元格中。
在上述各实施例中,用户可以对电子表格中的项目信息进行修改,当应用程序接收到用户输入的新的项目信息时,用新的项目信息替换原来的项目信息,同时,用新的项目名称替换电子表格中的原项目名称。如果项目信息的插入位置被修改,则将项目名称移至新的位置,同时将该项目名称所在行的所有数据移至该项目名称所在的新位置所在行,各项目数据的列号不变。之后,应用程序还判断该项目信息中其他的项目名称中是否引用了被修改的项目名称,即表示为公式的项目名称中是否包含被修改的项目名称,若没有引用,则结束操作;若引用,则应用程序用新的项目名称替换原有的项目名称,将替换后生成的新公式写入系统表与电子表格中。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种基于时间序列的电子表格数据处理方法,其中执行以下步骤步骤1、接收到对具有时间属性的数据对象进行计算的处理请求信息后,读取电子表格中基本期间信息,并根据所述处理请求信息中的计算方式信息计算结果数据,确定每个计算结果数据所包含的基本期间以及该计算结果数据在电子表格中的写入位置;步骤2、生成对所述计算结果数据所包含的基本期间进行计算的计算公式,然后利用该计算公式对数据对象进行计算,并按照处理请求信息的要求将计算后生成的计算结果数据写入电子表格中。
2.根据权利要求1所述的方法,其中所述步骤1之前还包括步骤A、向电子表格中写入项目信息、项目的数据对象与基本期间信息,所述项目信息包括项目名称信息与该项目信息所在的起始单元格地址信息,所述基本期间信息包括期间类型信息、期间数目信息与起始时间信息;步骤B、发送对数据对象进行计算的处理请求信息,该处理请求信息中携带了计算方式信息及将计算后所得的计算结果数据的写入位置信息。
3.根据权利要求2所述的方法,其中所述步骤A中向电子表格中写入项目信息包括步骤A11、发送向电子表格中写入项目信息的请求信息,所述项目信息包括项目名称信息及所述项目信息所在的起始单元格地址信息;步骤A12、将所述项目信息写入系统表中;同时,根据所述起始单元格地址计算所述项目名称信息的单元格地址,然后,将所述项目名称信息写入计算出的单元格地址对应的单元格中。
4.根据权利要求3所述的方法,其中所述步骤A11中所述项目信息还包括项目的数据对象。
5.根据权利要求3所述的方法,其中所述步骤A12与所述步骤B之间还包括步骤A13、判断所述系统表中是否存在所述基本期间信息,若不存在,执行步骤A16;若存在,执行步骤A14;步骤A14、判断所述项目信息中是否包含公式,若不包含,执行步骤B;若包含,执行步骤A15;步骤A15、将所述公式解析为项目名称,将该项目名称所在的行分别与每一基本期间所在的列交叉处的单元格地址代入所述公式生成一新公式,然后将该新公式写入包含所述公式的项目名称所在行与各基本期间所在列决定的单元格中;步骤A16、结束。
6.根据权利要求2所述的方法,其中所述步骤A中向电子表格中写入基本期间信息的操作具体为步骤A21、发送向电子表格中写入基本期间信息的请求信息,所述基本期间信息包括期间类型信息、期间数目信息与起始时间信息;步骤A22、根据所述期间类型信息、期间数目信息与起始时间信息计算每一个基本期间的时间段,并计算各时间段应写入电子表格的单元格的列号;步骤A23、将所述时间段及相应的列号信息写入系统表中;同时,将所述时间段信息写入所述起始单元格地址所对应的行中、与所述列号对应的单元格中。
7.根据权利要求6所述的方法,其中所述步骤A22中计算各时间段应写入电子表格的单元格的列号的操作具体为步骤A221、判断电子表格中是否存在所述项目信息,若不存在,执行步骤A222;若存在,执行步骤A223;步骤A222、根据当前焦点所在的单元格的地址计算所述时间段应写入电子表格中的单元格的列号;步骤A223、根据所述起始单元格地址计算所述时间段应写入电子表格中的单元格的列号。
8.根据权利要求6所述的方法,其中所述步骤A23与所述步骤B之间还包括步骤A24、判断所述系统表中是否存在所述项目信息,若不存在,执行步骤A27;若存在,执行步骤A25;步骤A25、判断所述项目信息中是否包含公式,若不包含,执行步骤B;若包含,执行步骤A26;步骤A26、将所述公式解析为项目名称,将该项目名称所在的行分别与每一基本期间所在的列交叉处的单元格地址代入所述公式生成一新公式,然后将该新公式写入包含所述公式的项目名称所在行与各基本期间所在列决定的单元格中;步骤A27、结束。
9.根据权利要求2所述的方法,其中所述步骤A与所述步骤B之间还包括写入对电子表格中的数据对象进行计算的计算方式信息及计算后所得的计算结果数据的写入位置信息。
10.根据权利要求1所述的方法,其中所述步骤1中,还根据所述处理请求信息中的计算方式信息生成计算结果数据的标题名称并将该标题名称写入电子表格中。
11.根据权利要求1所述的方法,其中所述步骤2中利用所述汇总公式对所述项目数据进行统计的操作包括将所述汇总公式中的项目名称信息与期间信息转换成电子表格地址信息;根据所述电子表格地址信息将所述汇总公式转换成以单元格地址信息表示的电子表格公式;利用所述电子表格公式对所述项目数据进行统计。
全文摘要
本发明提供了基于时间序列的电子表格数据处理方法,包括接收到对具有时间属性的数据对象进行计算的处理请求信息后,读取电子表格中基本期间信息,并根据所述处理请求信息中的计算方式信息计算结果数据确定每个计算结果数据所包含的基本期间以及该计算结果数据在电子表格中的写入位置;生成对所述计算结果数据所包含的基本期间进行计算的计算公式,然后利用该计算公式对数据对象进行计算,并按照处理请求信息的要求将计算后生成的计算结果数据写入电子表格中。采用本发明,用户只需要指定待统计的项目数据及统计方式,系统便可利用时间规律自动统计数据,操作简单,提高了工作效率,降低了出错率,方便了用户。
文档编号G06F17/24GK1821993SQ20061006559
公开日2006年8月23日 申请日期2006年3月24日 优先权日2006年3月24日
发明者韦利军, 王元兵 申请人:无锡永中科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1