CN102184099A - 配置及生成应用软件报表的方法、装置及系统 - Google Patents
配置及生成应用软件报表的方法、装置及系统 Download PDFInfo
- Publication number
- CN102184099A CN102184099A CN2011100952379A CN201110095237A CN102184099A CN 102184099 A CN102184099 A CN 102184099A CN 2011100952379 A CN2011100952379 A CN 2011100952379A CN 201110095237 A CN201110095237 A CN 201110095237A CN 102184099 A CN102184099 A CN 102184099A
- Authority
- CN
- China
- Prior art keywords
- gauge outfit
- horizontal
- vertical
- data
- data cells
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种配置及生成应用软件报表的方法、装置及系统,属于数据处理领域。配置应用软件报表的方法实施例包括:配置行标识、列标识、所述行标识对应的排序和所述列标识对应的排序;根据所述行标识,按照所述行标识对应的排序配置横向表头;根据所述列标识,按照所述列标识对应的排序配置纵向表头;对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。本发明实施例降低了运营成本。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种配置及生成应用软件报表的方法、装置及系统。
背景技术
对于现有的计算机应用软件报表而言,其开发绝大多数属于定制开发。客户提出需求,开发工程师分析客户需求,然后根据客户要求的报表格式编写相应代码,并整合整个应用系统的数据体系,最终组建出客户可操作的报表使用功能界面,或者直接给客户生成可使用的报表以供使用者下载或打开浏览。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当客户要求的报表样式数量很多时,开发工程师需要编写多套代码,从而生成多个报表使用功能界面,使得开发过程漫长,人力资源投入巨大,直接导致了运营成本的提高;在报表开发的过程中或者报表验收后,当客户提出其他新需求或者修改意见时,开发工程师需要进行代码重构,使得返工的工作量增大,也导致了运营成本的提高。
发明内容
为了降低运营成本,本发明实施例提供了一种配置及生成应用软件报表的方法、装置及系统。
所述技术方案如下:
一种配置应用软件报表的方法,包括:
配置行标识、列标识、所述行标识对应的排序和所述列标识对应的排序;
根据所述行标识,按照所述行标识对应的排序配置横向表头;
根据所述列标识,按照所述列标识对应的排序配置纵向表头;
对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
优选的,所述配置横向表头,具体包括:
配置横向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作;
其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;所述操作包括保存、删除和新增。
优选的,所述配置纵向表头,具体包括:
配置纵向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作;
其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;所述操作包括保存、删除和新增。
优选的,所述对数据单元格进行配置,具体包括:
根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式;
或者,
根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
优选的,进一步包括:设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增。
一种生成应用软件报表的方法,根据所述一种配置应用软件报表的方法配置的应用软件报表,包括:
获取横向表头和纵向表头,根据所述横向表头和所述纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头;
根据所述横向关联表头和所述纵向关联表头获取数据单元格列表,对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格;
根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
优选的,所述获取横向表头和纵向表头,具体包括:
获取行标识和列标识,根据所述行标识和所述列标识分别获取横向表头和纵向表头;
或者,
获取列标识,根据所述列标识获取横向表头和纵向表头;其中,所述列标识和所述横向表头拼装在一起。
优选的,所述对所述数据单元格列表中的数据单元格执行预定处理,具体包括:
如果所述数据单元格是无效单元格,不执行任何操作;如果否,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,如果否,按照基于单元格之间的组合运算公式执行运算。
优选的,所述根据所述横向表头、纵向表头和预定处理后的数据单元格生成应用软件报表之前,进一步包括:
遍历数据单元格列表,判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
优选的,进一步包括:
计算所述横向表头的单元格的跨列属性和所述纵向表头的单元格的跨行属性,将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中。
一种配置应用软件报表的装置,包括:
标识配置模块,用于配置行标识、列标识及所述行标识和列标识对应的排序,其中所述行标识为横向表头标识,所述列标识为纵向表头标识,所述排序定义了横向表头标识或纵向表头标识所关联的所有表头的层次和深度;
横向表头配置模块,用于根据所述行标识,按照所述行标识对应的排序配置横向表头;
纵向表头配置模块,用于根据所述列标识,按照所述列标识对应的排序配置纵向表头;
数据单元格配置模块,用于对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
优选的,所述横向表头配置模块包括:
第一来源配置模块,用于配置横向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;
第一来源数据配置模块,用于配置横向表头的表头来源数据;
第一显示名称配置模块,用于配置横向表头的表头显示名称;
第一次序配置模块,用于配置横向表头的表头次序;
第一上级表头配置模块,用于配置横向表头的上级表头;
第一操作配置模块,用于配置横向表头的操作,其中,所述操作包括保存、删除和新增。
优选的,所述纵向表头配置模块包括:
第二来源配置模块,用于配置纵向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;
第二来源数据配置模块,用于配置纵向表头的表头来源数据;
第二显示名称配置模块,用于配置纵向表头的表头显示名称;
第二次序配置模块,用于配置纵向表头的表头次序;
第二上级表头配置模块,用于配置纵向表头的上级表头;
第二操作配置模块,用于配置纵向表头的操作,其中,所述操作包括保存、删除和新增。
优选的,所述数据单元格配置模块包括:
第一设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式;
或者,
第二设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
优选的,进一步包括:
操作设置模块,用于设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增。
一种生成应用软件报表的装置,包括:
表头获取模块,用于获取横向表头和纵向表头;
关联表头获取模块,用于根据所述横向表头和纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头;
数据单元格获取模块,用于根据所述横向关联表头和纵向关联表头获取数据单元格列表;
处理模块,用于对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格;
生成模块,用于根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
优选的,所述表头获取模块包括:
第一表头获取模块,用于获取行标识和列标识,根据所述行标识和所述列标识分别获取横向表头和纵向表头;
或者,
第二表头获取模块,用于根据所述列标识获取横向表头和纵向表头;其中,所述列标识和所述横向表头拼装在一起。
优选的,所述处理模块包括:
数据单元格处理模块,用于对所述数据单元格执行预定处理;
获取模块,用于获取所述预定处理后的数据单元格;
其中,所述数据单元格处理模块包括:
第一判断模块,用于判断所述数据单元格是否为无效单元格,如果是,不执行任何操作;
第二判断模块,用于当所述数据单元格不是无效单元格时,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,如果否,按照基于单元格之间的组合运算公式执行运算。
优选的,进一步包括:
遍历模块,用于遍历数据单元格列表;
第三判断模块,用于判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
优选的,进一步包括:
计算模块,用于计算所述横向表头的单元格的跨列属性和所述纵向表头的单元格的跨行属性;
添加模块,用于将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中。
一种生成应用软件报表的系统,包括所述的配置应用软件报表的装置和所述的生成应用软件报表的装置。
本发明实施例提供的技术方案带来的有益效果是:运用了应用软件报表的配置处理,提供了一个报表模板,从而不需要像现有技术一样编写多套代码或进行代码重构,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。
附图说明
图1是本发明实施例提供的一种配置应用软件报表的方法实施例的流程图;
图2是本发明实施例提供的表头标识配置界面示意图;
图3是本发明实施例提供的横向表头配置界面示意图;
图4是本发明实施例提供的纵向表头配置界面示意图;
图5是本发明实施例提供的运算公式配置界面示意图;
图6是本发明实施例提供的基于基础数据的组合运算公式设置界面示意图;
图7是本发明实施例提供的基于单元格之间的组合运算公式的设置界面示意图;
图8是本发明实施例提供的一种生成应用软件报表的方法实施例的流程图;
图9是本发明实施例提供的一种配置应用软件报表的装置实施例的结构示意图;
图10是本发明实施例提供的一种生成应用软件报表的装置实施例的结构示意图;
图11是图10中处理模块的结构示意图;
图12是本发明实施例提供的一种生成应用软件报表的系统实施例的结构示意图。
具体实施方式
本发明实施例提供一种配置及生成应用软件报表的方法、装置及系统。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
为了使得本领域技术人员能够更清楚的了解本发明的技术方案,下面对应用软件报表做一下简要分析。
根据对大量应用软件报表模型的分析可知,应用软件报表总体可分为表头标识、表头单元格和数据单元格三部分。
其中,表头标识用来定义报表表头的层次与名称,一般位于报表左上角位置;表头标识分为横向与纵向两个部分,在很多应用软件报表模型里,通常只显示纵向表头标识。
表头单元格包括横向表头与纵向表头两部分。报表表头的层次和深度是根据表头标识来定义的,在定义表头时,需要指定表头所属的标识层次。横向表头与纵向表头均可以向下包含下级表头,也就是说在创建非顶级表头时,需要给创建的表头指定上级表头。理论上,横向表头与纵向表头的处理逻辑一致。
数据单元格中的数据包括属性型数据与运算结果型数据两大类。其中,属性型数据是指根据两个方向的表头(横向表头与纵向表头)条件得到的已存在于系统中的数据(常见存储于系统数据库中),该类型数据只需要显示在数据单元格中即可,比如姓名之类的数据;该类型的数据在用户得到报表后可能有其他的再加工用途;该类型的数据也可参与其他数据列之间的数学运算,比如产品单价之类的数据。运算结果型数据指的是经过一系列数学运算得到的数据。
参考表1,示出了某应用软件报表模型。其中,报表左上角的“年/月/日期分段/日”为报表表头标识部分,此部分只显示了纵向表头标识(作为横向表头标识的“品名”在此报表中不显示);“冰糖/大包装井矿盐/透明皂/增强皂/小包装日晒盐/小包装纸塑/酱油/红糖”为横向表头部分,“2011年/3月/1号-5号/6号-10号/1/2/3/4/5/5日销量合计/累计销量/6/7/8/9/10/5日销量合计/累计销量”为纵向表头部分;其余部分为报表数据单元格部分。
表1
实施例1:
参考图1,示出了本发明实施例提供的一种配置应用软件报表的方法实施例的流程图,所述配置应用软件报表的方法包括:
S101:配置行标识、列标识、所述行标识对应的排序和所述列标识对应的排序。
其中,所述行标识为横向表头标识,所述列标识为纵向表头标识;所述行标识对应的排序和所述列标识对应的排序分别定义了横向表头标识和纵向表头标识下所关联的所有表头的层次和深度,参考图2,示出了本发明实施例提供的表头标识配置界面示意图。其中,行标识即横向表头标识“品名”只有一层,排序为1;列标识即纵向表头标识“年/月/日期分段/日”,分为四层,表头的级别按照排序的增加逐层降低,排序为“1”的“年”级别最高,排序为“4”的“日”级别最低。优选地,本发明实施例还可以设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增,如图2所示。
S102:根据所述行标识,按照所述行标识对应的排序配置横向表头。
实际应用中,根据所述行标识,按照所述行标识对应的排序,从级别最高的横向表头逐级进行配置,包括:配置横向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作。
其中,表头来源主要分为以下三种:指定数据列、循环数据列和自定义数据列。
指定数据列,指定该表头来自于基础数据中的某列,一般用于属性数据的展示,适合数据范围已知的基础数据,比如产品单价。
循环数据列,指定该表头来自于基础数据中的某循环数据项,一般用于属性数据的展示,适合数据范围可变化并且数据量比较大的基础数据,比如产品类别。
自定义数据列:指定该表头来自于配置过程中所填写的名称,一般用于运算数据的展示,适合需要进行单元格之间数学运算的数据,比如销量合计、累计销量等。
值得注意的是,除了顶级标头即最高级表头无上级表头,不需要指定上级表头外,其余级别的表头均需要指定上级表头。
所述操作包括保存、删除和新增。
下面以S101中行标识“品名”为例,描述横向表头的配置,参见图3,示出了本发明实施例提供的横向表头配置界面示意图。其中,横向表头“品名”的表头来源可以根据其下拉菜单进行选择配置,所述下拉菜单选项包括指定列、循环列和自定义,如“品名”的表头来源选择为循环列,即循环数据列。表头来源数据也可以进行选择配置,如图3中表头来源数据选择为“产品品名”,相应的表头显示名称为“产品品名”,表头次序为1。因为横向表头“品名”为顶级表头,所以无上级表头。
S103:根据所述列标识,按照所述列标识对应的排序配置纵向表头。
实际应用中,根据所述列标识,按照所述列标识对应的排序,从级别最高的纵向表头逐级进行配置,包括:配置纵向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作。
由于纵向表头的配置过程与横向表头的配置过程类似,在此不作过多描述,详见S102。
参见图4,示出了本发明实施例提供的纵向表头配置界面示意图,为描述方便,图4只示出了部分纵向表头的配置界面。其中,纵向表头“年”和“月”的表头来源通过其下拉菜单选择为指定列,“日期分段”的表头来源通过其下拉菜单选择为“自定义”;对于表头来源为自定义的纵向表头,不需要对表头来源数据进行选择配置,可以直接在表头显示名称中输入相关内容。
值得注意的是,除了顶级表头外,其余级别的表头均需要指定上级表头,如纵向表头“月”和“日期分段”都需指定上级表头。
S104:对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
在配置完报表的横向表头和纵向表头后,可以对报表的模型进行预览,在预览界面中对数据单元格进行配置,具体可以通过以下方式中的任一种实现配置:
1)、根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式。
参考图5,示出了本发明实施例提供的数据运算公式配置界面示意图。其中,数据单元格[1_11]、[1_12]、[1_13]、[1_14]和[1_15]设置基于基础数据的组合运算公式,数据单元格[1_42]和[1_43]设置基于单元格之间的组合运算公式。
基于基础数据的组合运算公式的设置可参考图6,示出了本发明实施例提供的基于基础数据的组合运算公式设置界面示意图。根据实际应用中的查询目标列、目标列操作、表头列和参与查询条件列执行相应选择操作来设置并保存基于基础数据的组合运算公式。
基于单元格之间的组合运算公式的设置可参考图7,图7示出了本发明实施例提供的基于单元格之间的组合运算公式的设置界面示意图。根据实际应用中的单元格、运算符及其他条件执行相应选择操作来设置并保存基于单元格之间的组合运算公式。
或者,
2)根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
任何一类报表都可以将其按照规律拆解为本实施例中可配置的各级步骤,本实施例提供的方法能够匹配各种复杂的报表模型。
在本实施例中,可以看出,运用了应用软件报表的配置处理,提供了一个报表模板,使得当需要应用软件报表时,只需选择输入相关条件便可获取,从而不需要像现有技术一样编写多套代码或进行代码重构,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。
另外,现有技术中,根据客户需求定制开发的报表,容易出现功能性上的bug,调试起来费时费力,并且报表越多,可能出现的bug就越多。通过本实施例配置出来的报表,基本上没有bug,也就不需要像现有技术那样,每开发一个报表模型都需要重新测试来检查结果了。
实施例2:
参考图8,示出了本发明实施例提供的一种生成应用软件报表的方法实施例的流程图。根据配置应用软件报表的方法提供的配置,所述生成应用软件报表的方法包括:
S801:获取横向表头和纵向表头,根据所述横向表头和所述纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头。
在实际应用中,首先根据客户需求的报表模型,获取表头标识,所述表头标识包括横向表头标识(即行标识)和纵向表头标识(即列标识),一般情况下,表头标识只显示纵向表头标识,并且在系统数据库中,将列标识和横向表头拼装在一起。
所述获取横向表头和纵向表头,具体可以通过以下方式中的一种实现:
1)、获取行标识和列标识,根据所述行标识获取横向表头数据,根据所述列标识获取纵向表头数据。
从系统数据库中获取行标识和列标识后,在表头标识配置界面中对所述行标识、列标识及排序进行相应设置;根据所述行标识和列标识分别对横向表头配置界面和纵向表头配置界面中相关内容进行设置。
2)、获取列标识,根据所述列标识获取横向表头和纵向表头;
此种情况中,表头标识只显示纵向表头标识及列标识,所述列标识和所述横向表头拼装在一起,于是在获取列标识的同时,也获取了横向表头。
所述横向关联表头和纵向关联表头为与数据单元格直接相邻,直接关联的表头数据,横向关联表头数据和纵向关联表头数据分别是横向表头数据和纵向表头数据的子集,例如:如果横向表头为“产品品名”,横向关联表头可以为产品品名的“型号”。也就是说,所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头。
横向表头数据和纵向表头数据的每一个单元格均有唯一的可识别的位置ID,根据位置ID可方便地判断表头的上下级关系,从而获取横向关联表头和纵向关联表头;也可以根据表头配置界面去获取横向表头或纵向表头级别中最低级别的横向表头或纵向表头,从而得到横向关联表头和纵向关联表头。
根据位置ID也可以快速查找表头单元格的属性信息,包括:表头来源类型、表头来源数据ID、上级表头ID等。
S802:根据所述横向关联表头和所述纵向关联表头获取数据单元格列表,对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格。
实际应用中,根据横向关联表头和纵向关联表头获取的数据单元格列表中的每一个单元格均直接关联横向关联表头的位置ID和纵向关联表头的位置ID,另外每一个单元格也包含了其所属的其他属性信息,所述其他属性信息包括运算类型、是否需要运算和最终值等信息。
获取数据单元格列表后,判断所述数据单元格是否为无效单元格,如果是,那么对所述数据单元格不执行任何操作;
如果所述数据单元格不是无效单元格,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,将最终值运算出来,同时将该单元格“是否需要运算”的属性标记为否,如果否,按照基于单元格之间的组合运算公式执行运算,将最终值运算出来,同时将该单元格“是否需要运算”的属性标记为否。
实际应用中,当执行完所有的基于基础数据的组合运算后,才能执行基于单元格之间的组合运算,因为只有那些基于基础数据运算的数据单元格已获得了结果后,才能将这些结果用于基于单元格之间的组合运算。
S803:根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
在获取预定处理后数据单元格数据后,组成横向表头和纵向表头与数据单元格的每一行,生成应用软件报表。
在组成横向表头和纵向表头时,还需要计算所述横向表头的单元格的跨列(colspan,column span)属性和所述纵向表头的单元格的跨行(rowspan,rowspan)属性,将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中,这样生成的excel报表才能正常显示。
在本发明的另一实施例中,在所述根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表之前,还包括:
遍历数据单元格列表,判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
具体可以通过如下的伪代码实现:
上述整个程序是一个为所有数据单元格查找并运算结果的过程。该过程是一个死循环,在每一次循环过程中检测是否已完成所有的单元格运算,如果某一轮运算走完时,没有任何有效的运算结果,则视为已完成所有的运算,从而退出死循环。在运算过程中,函数getResultByCellCalculation会去查找当前单元格是否可以获得运算结果,如果获得了运算结果,则将运算结果填充到所有数据单元格中该单元格的数据存储位置,同时标记该单元格在下次循环时不需要再去运算。
最终生成并显示的应用软件报表可以参考表1。
在本实施例中,可以看出,根据配置应用软件报表的方法提供的配置,生成应用软件报表,不需要像现有技术一样编写多套代码生成报表,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。并且当客户提出新需求或修改意见时,不需要像现有技术一样进行代码重构,只需修改相应配置就可以实现客户要求,直接降低了运营成本。
另外,本实施例可以随时更改配置生成报表,可快速适应客户的需求变化,提高了用户的体验和满意度。
实施例3:
参考图9,示出了本发明实施例提供的一种配置应用软件报表的装置实施例的结构示意图。所述配置应用软件报表的装置包括:
标识配置模块101,用于配置行标识、列标识及所述行标识和列标识对应的排序,其中所述行标识为横向表头标识,所述列标识为纵向表头标识,所述排序定义了横向表头标识或纵向表头标识所关联的所有表头的层次和深度。
横向表头配置模块102,用于根据所述行标识,按照所述行标识对应的排序配置横向表头。
其中,所述横向表头配置模块102包括:
第一来源配置模块,用于配置横向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列。
第一来源数据配置模块,用于配置横向表头的表头来源数据。
第一显示名称配置模块,用于配置横向表头的表头显示名称。
第一次序配置模块,用于配置横向表头的表头次序。
第一上级表头配置模块,用于配置横向表头的上级表头。
第一操作配置模块,用于配置横向表头的操作,其中,所述操作包括保存、删除和新增。
纵向表头配置模块103,用于根据所述列标识,按照所述列标识对应的排序配置纵向表头。
其中,所述纵向表头配置模块103包括:
第二来源配置模块,用于配置纵向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列。
第二来源数据配置模块,用于配置纵向表头的表头来源数据。
第二显示名称配置模块,用于配置纵向表头的表头显示名称。
第二次序配置模块,用于配置纵向表头的表头次序。
第二上级表头配置模块,用于配置纵向表头的上级表头。
第二操作配置模块,用于配置纵向表头的操作,其中,所述操作包括保存、删除和新增。
数据单元格配置模块104,用于对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
其中,所述数据单元格配置模块104包括第一设置模块或第二设置模块:
第一设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式。
第二设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
在另一实施例中,配置应用软件报表的装置还包括:
操作设置模块,用于设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增。
在本实施中,可以看出,配置应用软件报表的装置提供了一个报表模板,从而不需要像现有技术一样编写多套代码或进行代码重构,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。
实施例4:
参考图10,示出了本发明实施例提供的一种生成应用软件报表的装置实施例的结构示意图。所述生成应用软件报表的装置根据配置应用软件报表的装置提供的配置,具体包括:
表头获取模块201,用于获取横向表头和纵向表头。
其中,所述表头获取模块201包括:
第一表头获取模块,用于获取行标识和列标识,根据所述行标识和所述列标识分别获取横向表头和纵向表头;
或者,
第二表头获取模块,用于根据所述列标识获取横向表头和纵向表头;其中,所述列标识和所述横向表头拼装在一起。
关联表头获取模块202,用于根据所述横向表头和纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头。
数据单元格获取模块203,用于根据所述横向关联表头和纵向关联表头获取数据单元格列表。
处理模块204,用于对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格。
生成模块205,用于根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
参考图11,示出了图10中处理模块的结构示意图。所述处理模块204包括:
数据单元格处理模块2041,用于对所述数据单元格执行预定处理。
其中,所述数据单元格处理模块2041包括:
第一判断模块2041a,用于判断所述数据单元格是否为无效单元格,如果是,不执行任何操作。
第二判断模块2041b,用于当所述数据单元格不是无效单元格时,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,如果否,按照基于单元格之间的组合运算公式执行运算。
获取模块2042,用于获取所述预定处理后的数据单元格。
在另一实施例中,所述生成应用软件报表的装置还包括遍历模块和第三判断模块:
遍历模块,用于遍历数据单元格列表。
第三判断模块,用于判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
进一步的,所述生成应用软件报表的装置还可以包括计算模块和添加模块:
计算模块,用于计算所述横向表头的单元格的跨列属性和所述纵向表头的单元格的跨行属性。
添加模块,用于将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中。
在本实施中,可以看出,根据配置应用软件报表的装置提供的配置生成应用软件报表,从而不需要像现有技术一样编写多套代码或进行代码重构,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。
实施例5:
以下介绍本发明实施例提供的一种生成应用软件报表的系统,参考图12,示出了本发明实施例提供的一种生成应用软件报表的系统实施例的结构示意图。所述生成应用软件报表的系统包括配置应用软件报表的装置301和生成应用软件报表的装置302。
其中,配置应用软件报表的装置301和生成应用软件报表的装置302可以是前面实施例中描述的配置应用软件报表的装置和生成应用软件报表的装置,此处不再赘述,详见前面实施例。
在本实施例中,可以看出,本实施例生成应用软件报表的过程,不需要像现有技术一样编写多套代码或进行代码重构,从而缩短了开发过程,节省了人力资源和时间投入,直接降低了运营成本。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (21)
1.一种配置应用软件报表的方法,其特征在于,包括:
配置行标识、列标识、所述行标识对应的排序和所述列标识对应的排序;
根据所述行标识,按照所述行标识对应的排序配置横向表头;
根据所述列标识,按照所述列标识对应的排序配置纵向表头;
对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
2.根据权利要求1所述的方法,其特征在于,所述配置横向表头,具体包括:
配置横向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作;
其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;所述操作包括保存、删除和新增。
3.根据权利要求1所述的方法,其特征在于,所述配置纵向表头,具体包括:
配置纵向表头的表头来源、表头来源数据、表头显示名称、表头次序、上级表头和操作;
其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;所述操作包括保存、删除和新增。
4.根据权利要求1所述的方法,其特征在于,所述对数据单元格进行配置,具体包括:
根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式;
或者,
根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
5.根据权利要求1-4任一项所述的方法,其特征在于,进一步包括:设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增。
6.一种生成应用软件报表的方法,其特征在于,根据权利要求1-4任一项所述的方法配置的应用软件报表,包括:
获取横向表头和纵向表头,根据所述横向表头和所述纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头;
根据所述横向关联表头和所述纵向关联表头获取数据单元格列表,对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格;
根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
7.根据权利要求6所述的方法,其特征在于,所述获取横向表头和纵向表头,具体包括:
获取行标识和列标识,根据所述行标识和所述列标识分别获取横向表头和纵向表头;
或者,
获取列标识,根据所述列标识获取横向表头和纵向表头;其中,所述列标识和所述横向表头拼装在一起。
8.根据权利要求6或7所述的方法,其特征在于,所述对所述数据单元格列表中的数据单元格执行预定处理,具体包括:
如果所述数据单元格是无效单元格,不执行任何操作;如果否,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,如果否,按照基于单元格之间的组合运算公式执行运算。
9.根据权利要求8所述的方法,其特征在于,所述根据所述横向表头、纵向表头和预定处理后的数据单元格生成应用软件报表之前,进一步包括:
遍历数据单元格列表,判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
10.根据权利要求9所述的方法,其特征在于,进一步包括:
计算所述横向表头的单元格的跨列属性和所述纵向表头的单元格的跨行属性,将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中。
11.一种配置应用软件报表的装置,其特征在于,包括:
标识配置模块,用于配置行标识、列标识及所述行标识和列标识对应的排序,其中所述行标识为横向表头标识,所述列标识为纵向表头标识,所述排序定义了横向表头标识或纵向表头标识所关联的所有表头的层次和深度;
横向表头配置模块,用于根据所述行标识,按照所述行标识对应的排序配置横向表头;
纵向表头配置模块,用于根据所述列标识,按照所述列标识对应的排序配置纵向表头;
数据单元格配置模块,用于对数据单元格进行配置,每个所述数据单元格均与所述横向表头和纵向表头相关联。
12.根据权利要求11所述的装置,其特征在于,所述横向表头配置模块包括:
第一来源配置模块,用于配置横向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;
第一来源数据配置模块,用于配置横向表头的表头来源数据;
第一显示名称配置模块,用于配置横向表头的表头显示名称;
第一次序配置模块,用于配置横向表头的表头次序;
第一上级表头配置模块,用于配置横向表头的上级表头;
第一操作配置模块,用于配置横向表头的操作,其中,所述操作包括保存、删除和新增。
13.根据权利要求11所述的装置,其特征在于,所述纵向表头配置模块包括:
第二来源配置模块,用于配置纵向表头的表头来源,其中,所述表头来源包括指定数据列、循环数据列或自定义数据列;
第二来源数据配置模块,用于配置纵向表头的表头来源数据;
第二显示名称配置模块,用于配置纵向表头的表头显示名称;
第二次序配置模块,用于配置纵向表头的表头次序;
第二上级表头配置模块,用于配置纵向表头的上级表头;
第二操作配置模块,用于配置纵向表头的操作,其中,所述操作包括保存、删除和新增。
14.根据权利要求11所述的装置,其特征在于,所述数据单元格配置模块包括:
第一设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,对所述数据单元格设置运算公式;所述运算公式包括基于基础数据的组合运算公式或基于单元格之间的组合运算公式;
或者,
第二设置模块,用于根据与所述数据单元格相关联的横向表头和纵向表头,设置所述数据单元格为无效单元格。
15.根据权利要求11-14任一项所述的装置,其特征在于,进一步包括:
操作设置模块,用于设置对所述行标识和所述列标识执行的相应操作,所述相应操作包括保存、删除和新增。
16.一种生成应用软件报表的装置,其特征在于,包括:
表头获取模块,用于获取横向表头和纵向表头;
关联表头获取模块,用于根据所述横向表头和纵向表头分别获取横向关联表头和纵向关联表头,其中所述横向关联表头为横向表头中最低级别的表头,所述纵向关联表头为纵向表头中最低级别的表头;
数据单元格获取模块,用于根据所述横向关联表头和纵向关联表头获取数据单元格列表;
处理模块,用于对所述数据单元格列表中的数据单元格执行预定处理,获取所述预定处理后的数据单元格;
生成模块,用于根据所述横向表头、所述纵向表头和所述预定处理后的数据单元格生成应用软件报表。
17.根据权利要求16所述的装置,其特征在于,所述表头获取模块包括:
第一表头获取模块,用于获取行标识和列标识,根据所述行标识和所述列标识分别获取横向表头和纵向表头;
或者,
第二表头获取模块,用于根据所述列标识获取横向表头和纵向表头;其中,所述列标识和所述横向表头拼装在一起。
18.根据权利要求16或17所述的装置,其特征在于,所述处理模块包括:
数据单元格处理模块,用于对所述数据单元格执行预定处理;
获取模块,用于获取所述预定处理后的数据单元格;
其中,所述数据单元格处理模块包括:
第一判断模块,用于判断所述数据单元格是否为无效单元格,如果是,不执行任何操作;
第二判断模块,用于当所述数据单元格不是无效单元格时,判断所述数据单元格的运算类型是否为基于基础数据的组合运算,如果是,按照基于基础数据的组合运算公式执行运算,如果否,按照基于单元格之间的组合运算公式执行运算。
19.根据权利要求18所述的装置,其特征在于,进一步包括:
遍历模块,用于遍历数据单元格列表;
第三判断模块,用于判断所述数据单元格列表中的所有数据单元格是否都已经运算完毕,如果否,对未完成运算的数据单元格执行预定运算。
20.根据权利要求19所述的装置,其特征在于,进一步包括:
计算模块,用于计算所述横向表头的单元格的跨列属性和所述纵向表头的单元格的跨行属性;
添加模块,用于将所述跨列属性和跨行属性分别添加到横向表头的单元格和纵向表头的单元格的显示属性中。
21.一种生成应用软件报表的系统,其特征在于,包括如权利要求11-14任一项所述的配置应用软件报表的装置和如权利要求16或17所述的生成应用软件报表的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100952379A CN102184099A (zh) | 2011-04-15 | 2011-04-15 | 配置及生成应用软件报表的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100952379A CN102184099A (zh) | 2011-04-15 | 2011-04-15 | 配置及生成应用软件报表的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102184099A true CN102184099A (zh) | 2011-09-14 |
Family
ID=44570280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100952379A Pending CN102184099A (zh) | 2011-04-15 | 2011-04-15 | 配置及生成应用软件报表的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102184099A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092580A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 基于ajax技术的动态表头控制的实现 |
CN103778234B (zh) * | 2014-01-26 | 2017-06-27 | 北京恒华伟业科技股份有限公司 | 报表的生成方法及装置 |
CN109299450A (zh) * | 2018-10-31 | 2019-02-01 | 上海用天网络科技有限公司 | 一种企业管理软件中动态报表数据展示方法 |
CN109491656A (zh) * | 2018-10-31 | 2019-03-19 | 上海用天网络科技有限公司 | 一种企业管理软件中创建报表模型及模板的方法 |
CN110362056A (zh) * | 2014-11-11 | 2019-10-22 | 横河电机株式会社 | 过程控制系统及其配置系统和方法 |
CN111476015A (zh) * | 2020-04-10 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
CN112084669A (zh) * | 2020-09-15 | 2020-12-15 | 任新志 | 一种机电系统机电一体化设计方法 |
CN112270165A (zh) * | 2020-10-19 | 2021-01-26 | 中译语通科技股份有限公司 | 一种表格的处理方法、装置、介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140562A (zh) * | 2007-02-14 | 2008-03-12 | 中兴通讯股份有限公司 | 自定义报表的实现方法 |
US7395497B1 (en) * | 2003-10-31 | 2008-07-01 | Emc Corporation | System and methods for processing large datasets |
CN101504642A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 报表生成系统及方法 |
CN101833583A (zh) * | 2010-05-18 | 2010-09-15 | 中兴通讯股份有限公司 | 一种基于数据库生成报表的方法、装置和系统 |
-
2011
- 2011-04-15 CN CN2011100952379A patent/CN102184099A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395497B1 (en) * | 2003-10-31 | 2008-07-01 | Emc Corporation | System and methods for processing large datasets |
CN101140562A (zh) * | 2007-02-14 | 2008-03-12 | 中兴通讯股份有限公司 | 自定义报表的实现方法 |
CN101504642A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 报表生成系统及方法 |
CN101833583A (zh) * | 2010-05-18 | 2010-09-15 | 中兴通讯股份有限公司 | 一种基于数据库生成报表的方法、装置和系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092580A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 基于ajax技术的动态表头控制的实现 |
CN103778234B (zh) * | 2014-01-26 | 2017-06-27 | 北京恒华伟业科技股份有限公司 | 报表的生成方法及装置 |
CN110362056A (zh) * | 2014-11-11 | 2019-10-22 | 横河电机株式会社 | 过程控制系统及其配置系统和方法 |
CN109299450A (zh) * | 2018-10-31 | 2019-02-01 | 上海用天网络科技有限公司 | 一种企业管理软件中动态报表数据展示方法 |
CN109491656A (zh) * | 2018-10-31 | 2019-03-19 | 上海用天网络科技有限公司 | 一种企业管理软件中创建报表模型及模板的方法 |
CN111476015A (zh) * | 2020-04-10 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
CN111476015B (zh) * | 2020-04-10 | 2024-01-05 | 北京字节跳动网络技术有限公司 | 一种文档处理方法、装置、电子设备及存储介质 |
CN112084669A (zh) * | 2020-09-15 | 2020-12-15 | 任新志 | 一种机电系统机电一体化设计方法 |
CN112084669B (zh) * | 2020-09-15 | 2024-01-26 | 任新志 | 一种机电系统机电一体化设计方法 |
CN112270165A (zh) * | 2020-10-19 | 2021-01-26 | 中译语通科技股份有限公司 | 一种表格的处理方法、装置、介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184099A (zh) | 配置及生成应用软件报表的方法、装置及系统 | |
CN106796578B (zh) | 知识自动化系统和方法以及存储器 | |
CN105550241B (zh) | 多维数据库查询方法及装置 | |
CN104063361A (zh) | 报表设计方法和报表设计系统 | |
JP2019512816A (ja) | ページリソースの配置方法及び装置 | |
CN102426582B (zh) | 数据操作管理装置和数据操作管理方法 | |
CN103064689A (zh) | 一种动态生成报表页面的实现方法及系统 | |
CN104714949A (zh) | 一种动态定制报表的方法 | |
CN103942712A (zh) | 基于产品相似度的电子商务推荐系统及其方法 | |
CN103970527A (zh) | 为报表生成提供辅助覆盖的方法和系统 | |
CN103019728A (zh) | 一种高效复杂报表解析引擎及其解析方法 | |
CN103578015A (zh) | 一种商品属性导航的实现方法及装置 | |
CN105446989A (zh) | 搜索方法及装置、显示装置 | |
CN103577524A (zh) | 业务对象表达和细节框显示 | |
CN104750771A (zh) | 利用域信息进行上下文数据分析的方法和系统 | |
CN106951254B (zh) | 支付系统中相似业务功能模块复用的方法及装置 | |
CN108255479B (zh) | cube文件的创建方法、装置、存储介质及终端 | |
CN104102670A (zh) | 绩效指标分析框架 | |
Yoo et al. | Osmoselua–an integrated approach to energy systems integration with lcia and gis | |
CN104834551A (zh) | 一种基于四层架构的.net代码自动生成方法 | |
CN110221835A (zh) | 在前端页面中增加控件的方法及装置 | |
CN103885767B (zh) | 用于地理区域相关网站的系统和方法 | |
CN107679056A (zh) | 生成sql语句的方法、电子装置及可读存储介质 | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
CN113326314A (zh) | 数据可视化方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110914 |