CN105447174A - 一种报表生成方法及装置 - Google Patents
一种报表生成方法及装置 Download PDFInfo
- Publication number
- CN105447174A CN105447174A CN201510904218.4A CN201510904218A CN105447174A CN 105447174 A CN105447174 A CN 105447174A CN 201510904218 A CN201510904218 A CN 201510904218A CN 105447174 A CN105447174 A CN 105447174A
- Authority
- CN
- China
- Prior art keywords
- data
- report
- form template
- report form
- database
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种报表生成方法及装置,方法包括:响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;查询报表模板配置库,获取所述目标报表模板的配置信息,配置信息包括目标报表模板中待插入数据的位置及数据库获取方法;利用所述目标报表模板的配置信息,从数据库中获取报表数据;将报表数据填充至所述目标报表模板,得到报表。本申请预先设置了多种类型的报表模板,在用户请求时直接读取对应的报表模板,加快了报表创建过程。并且,本申请预先设置了报表模板中待插入数据的数据库获取方法,实现了各个待插入数据的自动获取,并最终将获取的待插入数据插入至报表模板对应位置,操作简单方便。
Description
技术领域
本申请涉及数据库技术领域,更具体地说,涉及一种报表生成方法及装置。
背景技术
在管理信息系统中,通常需要生成一些报表。生成报表的数据在数据库中存储。
现有的报表生成方式一般是人工从报表配置库中读取报表的相关信息,如报表格式等,利用报表相关信息生成一份报表模板。进而人工利用sql语句从数据库中读取报表所需的数据,然后将读取的数据填充到报表模板中,完成报表的创建过程。
显然,现有的报表生成方法需要先创建报表模板,然后人工读取数据并进行数据的填充,操作繁琐且耗费时间长。
发明内容
有鉴于此,本申请提供了一种报表生成方法及装置,用于解决现有报表生成方法所存在的操作繁琐、耗时长的问题。
为了实现上述目的,现提出的方案如下:
一种报表生成方法,包括:
响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法;
利用所述目标报表模板的配置信息,从数据库中获取报表数据;
将所述报表数据填充至所述目标报表模板,得到报表。
优选地,所述利用所述目标报表模板的配置信息,从数据库中获取报表数据,包括:
对所述目标报表模板中的待插入数据进行分组;
利用与各分组分别对应的线程,获取对应分组内的待插入数据,其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据;
利用各线程获取的待插入数据组合成报表数据。
优选地,所述对所述目标报表模板中的待插入数据进行分组,包括:
以待插入数据所在的页码为分组条件,将页码相同的待插入数据划分在同一分组内。
优选地,所述待插入数据的位置为待插入数据的位置坐标,所述利用各线程获取的待插入数据组合成报表数据,包括:
在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
接收各线程获取的待插入数据;
根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
将所述待插入数据存储至与之对应的key-value组合中的value中;
利用存储有待插入数据的key-value组合生成报表数据。
优选地,所述将所述报表数据填充至所述目标报表模板,得到报表,包括:
根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
一种报表生成装置,包括:
请求响应单元,用于响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
模板配置库查询单元,用于查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法;
报表数据获取单元,用于利用所述目标报表模板的配置信息,从数据库中获取报表数据;
报表数据填充单元,用于将所述报表数据填充至所述目标报表模板,得到报表。
优选地,所述报表数据获取单元包括:
待插入数据分组单元,用于对所述目标报表模板中的待插入数据进行分组;
线程调用单元,用于利用与各分组分别对应的线程,获取对应分组内的待插入数据,其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据;
待插入数据组合单元,用于利用各线程获取的待插入数据组合成报表数据。
优选地,所述待插入数据分组单元包括:
页码分组单元,用于以待插入数据所在的页码为分组条件,将页码相同的待插入数据划分在同一分组内。
优选地,所述待插入数据的位置为待插入数据的位置坐标,所述待插入数据组合单元包括:
第一待插入数据组合子单元,用于在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
第二待插入数据组合子单元,用于接收各线程获取的待插入数据;
第三待插入数据组合子单元,用于根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
第四待插入数据组合子单元,用于将所述待插入数据存储至与之对应的key-value组合中的value中;
第五待插入数据组合子单元,用于利用存储有待插入数据的key-value组合生成报表数据。
优选地,所述报表数据填充单元包括:
第一报表数据填充子单元,用于根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
第二报表数据填充子单元,用于根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
从上述的技术方案可以看出,本申请实施例提供的报表生成方法,响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板,进一步查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法,然后利用所述目标报表模板的配置信息,从数据库中获取报表数据,将报表数据填充至所述目标报表模板,得到报表。本申请预先设置了多种类型的报表模板,进而在用户请求时直接读取对应的报表模板,加快了报表创建过程。并且,本申请预先设置了报表模板中各待插入数据的数据库获取方法,进而实现各个待插入数据的自动获取,并最终将获取的待插入数据插入至报表模板对应位置,整个过程用户仅需要发送一个报表生成请求即可,操作简单方便。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种报表生成方法流程图;
图2为本申请实施例示例的一种报表模板示意图;
图3为本申请实施例公开的另一种报表生成方法流程图;
图4为本申请实施例公开的又一种报表生成方法流程图;
图5为本申请实施例公开的又一种报表生成方法流程图;
图6为本申请实施例公开的一种报表生成装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例公开的一种报表生成方法流程图。
如图1所示,该方法包括:
步骤S100、响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
具体地,本申请预先设置了报表模板库,报表模板库中存储有多种类型的报表模板。当用户发起报表生成请求时,从报表模板库中调取与用户请求的报表类型相同的目标报表模板。
其中,用户发起报表生成请求的方式可以有多种,例如本申请可以在用户界面上提供多种图标,不同图标代表生成不同类型的报表,则用户可以选择触发目标类型的报表所对应的图标,例如当月财务报表、值班报表等。
步骤S110、查询报表模板配置库,从中获取所述目标报表模板的配置信息;
具体地,本申请预先设置了报表模板配置库,在报表模板配置库中存储了各种类型报表模板的配置信息。配置信息包括报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法。
其中,待插入数据的位置指的是待插入数据在报表模板中的位置信息,参见图2,图2为本申请实施例示例的一种报表模板示意图。图2中第2行第2列的单元格即为一个待插入数据的位置,其需要补充“变更单号数值”。待插入数据的位置信息可以是报表模板中待插入数据所在的页码编号、行编号和列编号。
此外,对于每一个待插入数据,报表模板配置库中均记录了该数据的数据库获取方法,通过该数据库获取方法可以在数据库中获取待插入数据。
参见下表1,下表1即为本申请示例的报表模板配置库中数据的存储形式。
表1
步骤S120、利用所述目标报表模板的配置信息,从数据库中获取报表数据;
根据目标报表模板的配置信息中记录的待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法,访问数据库,并从中获取报表数据。报表数据为多个待插入数据的组合。
步骤S130、将所述报表数据填充至所述目标报表模板,得到报表。
本申请实施例提供的报表生成方法,响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板,进一步查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法,然后利用所述目标报表模板的配置信息,从数据库中获取报表数据,将报表数据填充至所述目标报表模板,得到报表。本申请预先设置了多种类型的报表模板,进而在用户请求时直接读取对应的报表模板,加快了报表创建过程。并且,本申请预先设置了报表模板中各待插入数据的数据库获取方法,进而实现各个待插入数据的自动获取,并最终将获取的待插入数据插入至报表模板对应位置,整个过程用户仅需要发送一个报表生成请求即可,操作简单方便。
参见图3,图3为本申请实施例公开的另一种报表生成方法流程图。
如图3所示,该方法包括:
步骤S300、响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
具体地,本申请预先设置了报表模板库,报表模板库中存储有多种类型的报表模板。当用户发起报表生成请求时,从报表模板库中调取与用户请求的报表类型相同的目标报表模板。
其中,用户发起报表生成请求的方式可以有多种,例如本申请可以在用户界面上提供多种图标,不同图标代表生成不同类型的报表,则用户可以选择触发目标类型的报表所对应的图标,例如当月财务报表、值班报表等。
步骤S310、查询报表模板配置库,从中获取所述目标报表模板的配置信息;
具体地,本申请预先设置了报表模板配置库,在报表模板配置库中存储了各种类型报表模板的配置信息。配置信息包括报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法。
步骤S320、对所述目标报表模板中的待插入数据进行分组;
具体地,目标报表模板中的待插入数据为多个,对于各个待插入数据的获取过程,可以通过多个线程同时进行,提高数据获取速度。
为了适应于多线程处理机制,首先对目标报表模板中的待插入数据进行分组。在分组时可以依据多种分组策略,举例如,将待插入数据所在页码编号相同的待插入数据划分为一组,或者随机性的将待插入数据划分为若干组等等。
步骤S330、利用与各分组分别对应的线程,获取对应分组内的待插入数据;
其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据。
这里需要解释的是,待插入数据的数据库获取方法规定了数据的获取方法以及翻译方法。举例如,在数据库中,性别这个字段用0表示男,1表示女。则从数据库中读取性别以后,需要将0翻译为男,将1翻译为女,男和女才是报表数据。
多个线程中,每个线程分别获取对应分组内的待插入数据。相比于单线程处理方式,加快了数据获取速率。
步骤S340、利用各线程获取的待插入数据组合成报表数据;
具体地,对于多线程获取的待插入数据,根据各个待插入数据的位置,将待插入数据组合成报表数据。报表数据的形式可以参照下表2所示,表2示例了报表数据的一种结构。
表2
上表2中,前三列存储了待插入数据的位置坐标,第四列存储的是对应位置的待插入数据。
步骤S350、将所述报表数据填充至所述目标报表模板,得到报表。
相比于上一实施例,本实施例中提供了一种多线程获取报表数据的可选方案,相比于单线程处理模式,本申请的多线程处理方式能够提高报表数据的获取速率,缩短报表生成时间。
参见图4,图4为本申请实施例公开的又一种报表生成方法流程图。
如图4所示,该方法包括:
步骤S400、响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
具体地,本申请预先设置了报表模板库,报表模板库中存储有多种类型的报表模板。当用户发起报表生成请求时,从报表模板库中调取与用户请求的报表类型相同的目标报表模板。
其中,用户发起报表生成请求的方式可以有多种,例如本申请可以在用户界面上提供多种图标,不同图标代表生成不同类型的报表,则用户可以选择触发目标类型的报表所对应的图标,例如当月财务报表、值班报表等。
步骤S410、查询报表模板配置库,从中获取所述目标报表模板的配置信息;
具体地,本申请预先设置了报表模板配置库,在报表模板配置库中存储了各种类型报表模板的配置信息。配置信息包括报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法。
步骤S420、对所述目标报表模板中的待插入数据进行分组;
具体地,目标报表模板中的待插入数据为多个,对于各个待插入数据的获取过程,可以通过多个线程同时进行,提高数据获取速度。
为了适应于多线程处理机制,首先对目标报表模板中的待插入数据进行分组。在分组时可以依据多种分组策略,举例如,将待插入数据所在页码编号相同的待插入数据划分为一组,或者随机性的将待插入数据划分为若干组等等。
步骤S430、利用与各分组分别对应的线程,获取对应分组内的待插入数据;
其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据。
步骤S440、在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
具体地,redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。在redis中,用key-value的key值来表示待插入数据的位置坐标。以上表2的数据结构为例,在redis中初始记录为{(“1,2,2”,“”),(“1,2,7”,“”),(“1,3,2”,“”),(“1,3,7”,“”),(“1,3,12”,“”)...}格式。其中,以(“1,2,2”,“”)为例说明,“1,2,2”表示页、行、列编号。“”表示key值对应的value值,初始状态时value值为空。
步骤S450、接收各线程获取的待插入数据;
步骤S460、根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
步骤S470、将所述待插入数据存储至与之对应的key-value组合中的value中;
具体地,根据获取的待插入数据的位置坐标,可以确定对应的key-value组合。例如,获取的待插入数据为“北京”,其位置坐标为“第1页、第2行、第7列”,进而确定与之对应的key-value组合为(“1,2,7”,””)。进一步,将value值“北京”存储到key-value组合(“1,2,7”,“”)中,得到(“1,2,7”,“北京”)。
通过该过程,将获取的所有待插入数据都存储到对应的key-value组合中的value中。
步骤S480、利用存储有待插入数据的key-value组合生成报表数据;
在内存中,利用上一步骤所得到的存储有待插入数据的key-value组合生成报表数据。
步骤S490、将所述报表数据填充至所述目标报表模板,得到报表。
本申请基于redis的方式,在内存中建立了key-value存储结构,对于每一个线程所获取到的待插入数据,可以立刻存储到对应的key-value组合中的value中。对于不同的待插入数据的value存储过程,在内存中可以同时执行,提高了报表数据的生成效率。
参见图5,图5为本申请实施例公开的又一种报表生成方法流程图。
如图5所示,该方法包括:
步骤S500、响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
具体地,本申请预先设置了报表模板库,报表模板库中存储有多种类型的报表模板。当用户发起报表生成请求时,从报表模板库中调取与用户请求的报表类型相同的目标报表模板。
其中,用户发起报表生成请求的方式可以有多种,例如本申请可以在用户界面上提供多种图标,不同图标代表生成不同类型的报表,则用户可以选择触发目标类型的报表所对应的图标,例如当月财务报表、值班报表等。
步骤S510、查询报表模板配置库,从中获取所述目标报表模板的配置信息;
具体地,本申请预先设置了报表模板配置库,在报表模板配置库中存储了各种类型报表模板的配置信息。配置信息包括报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法。
步骤S520、对所述目标报表模板中的待插入数据进行分组;
具体地,目标报表模板中的待插入数据为多个,对于各个待插入数据的获取过程,可以通过多个线程同时进行,提高数据获取速度。
为了适应于多线程处理机制,首先对目标报表模板中的待插入数据进行分组。在分组时可以依据多种分组策略,举例如,将待插入数据所在页码编号相同的待插入数据划分为一组,或者随机性的将待插入数据划分为若干组等等。
步骤S530、利用与各分组分别对应的线程,获取对应分组内的待插入数据;
其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据。
步骤S540、在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
具体地,在redis中,用key-value的key值来表示待插入数据的位置坐标。以上表2的数据结构为例,在redis中初始记录为{(“1,2,2”,“”),(“1,2,7”,“”),(“1,3,2”,“”),(“1,3,7”,“”),(“1,3,12”,“”)...}格式。其中,以(“1,2,2”,“”)为例说明,“1,2,2”表示页、行、列编号。“”表示key值对应的value值,初始状态时value值为空。
步骤S550、接收各线程获取的待插入数据;
步骤S560、根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
步骤S570、将所述待插入数据存储至与之对应的key-value组合中的value中;
具体地,根据获取的待插入数据的位置坐标,可以确定对应的key-value组合。例如,获取的待插入数据为“北京”,其位置坐标为“第1页、第2行、第7列”,进而确定与之对应的key-value组合为(“1,2,7”,””)。进一步,将value值“北京”存储到key-value组合(“1,2,7”,“”)中,得到(“1,2,7”,“北京”)。
通过该过程,将获取的所有待插入数据都存储到对应的key-value组合中的value中。
步骤S580、利用存储有待插入数据的key-value组合生成报表数据;
在内存中,利用上一步骤所得到的存储有待插入数据的key-value组合生成报表数据。
步骤S590、根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
步骤S600、根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
相比于上一实施例,本实施例中介绍了将报表数据填充至目标报表模板的过程,即首先确定各待插入数据在目标报表模板中的插入位置坐标,进而将其插入到对应位置。
下面对本申请实施例提供的报表生成装置进行描述,下文描述的报表生成装置与上文描述的报表生成方法可相互对应参照。
参见图6,图6为本申请实施例公开的一种报表生成装置结构示意图。
如图6所示,该装置包括:
请求响应单元61,用于响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
模板配置库查询单元62,用于查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法;
报表数据获取单元63,用于利用所述目标报表模板的配置信息,从数据库中获取报表数据;
报表数据填充单元64,用于将所述报表数据填充至所述目标报表模板,得到报表。
本申请实施例提供的报表生成装置,响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板,进一步查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法,然后利用所述目标报表模板的配置信息,从数据库中获取报表数据,将报表数据填充至所述目标报表模板,得到报表。本申请预先设置了多种类型的报表模板,进而在用户请求时直接读取对应的报表模板,加快了报表创建过程。并且,本申请预先设置了报表模板中各待插入数据的数据库获取方法,进而实现各个待插入数据的自动获取,并最终将获取的待插入数据插入至报表模板对应位置,整个过程用户仅需要发送一个报表生成请求即可,操作简单方便。
可选的,本申请公开了上述报表数据获取单元的一种可选结构,所述报表数据获取单元可以包括:
待插入数据分组单元,用于对所述目标报表模板中的待插入数据进行分组;
线程调用单元,用于利用与各分组分别对应的线程,获取对应分组内的待插入数据,其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据;
待插入数据组合单元,用于利用各线程获取的待插入数据组合成报表数据。
可选的,本申请公开了上述待插入数据分组单元的一种可选结构,所述待插入数据分组单元可以包括:
页码分组单元,用于以待插入数据所在的页码为分组条件,将页码相同的待插入数据划分在同一分组内。
可选的,所述待插入数据的位置为待插入数据的位置坐标。所述待插入数据组合单元可以包括:
第一待插入数据组合子单元,用于在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
第二待插入数据组合子单元,用于接收各线程获取的待插入数据;
第三待插入数据组合子单元,用于根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
第四待插入数据组合子单元,用于将所述待插入数据存储至与之对应的key-value组合中的value中;
第五待插入数据组合子单元,用于利用存储有待插入数据的key-value组合生成报表数据。
可选的,本申请公开了上述报表数据填充单元的一种可选结构,所述报表数据填充单元可以包括:
第一报表数据填充子单元,用于根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
第二报表数据填充子单元,用于根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种报表生成方法,其特征在于,包括:
响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法;
利用所述目标报表模板的配置信息,从数据库中获取报表数据;
将所述报表数据填充至所述目标报表模板,得到报表。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标报表模板的配置信息,从数据库中获取报表数据,包括:
对所述目标报表模板中的待插入数据进行分组;
利用与各分组分别对应的线程,获取对应分组内的待插入数据,其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据;
利用各线程获取的待插入数据组合成报表数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标报表模板中的待插入数据进行分组,包括:
以待插入数据所在的页码为分组条件,将页码相同的待插入数据划分在同一分组内。
4.根据权利要求2所述的方法,其特征在于,所述待插入数据的位置为待插入数据的位置坐标,所述利用各线程获取的待插入数据组合成报表数据,包括:
在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
接收各线程获取的待插入数据;
根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
将所述待插入数据存储至与之对应的key-value组合中的value中;
利用存储有待插入数据的key-value组合生成报表数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述报表数据填充至所述目标报表模板,得到报表,包括:
根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
6.一种报表生成装置,其特征在于,包括:
请求响应单元,用于响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的报表类型相同的目标报表模板;
模板配置库查询单元,用于查询报表模板配置库,从中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,以及各位置对应的待插入数据的数据库获取方法;
报表数据获取单元,用于利用所述目标报表模板的配置信息,从数据库中获取报表数据;
报表数据填充单元,用于将所述报表数据填充至所述目标报表模板,得到报表。
7.根据权利要求6所述的装置,其特征在于,所述报表数据获取单元包括:
待插入数据分组单元,用于对所述目标报表模板中的待插入数据进行分组;
线程调用单元,用于利用与各分组分别对应的线程,获取对应分组内的待插入数据,其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法,从数据库中获取并翻译数据;
待插入数据组合单元,用于利用各线程获取的待插入数据组合成报表数据。
8.根据权利要求7所述的装置,其特征在于,所述待插入数据分组单元包括:
页码分组单元,用于以待插入数据所在的页码为分组条件,将页码相同的待插入数据划分在同一分组内。
9.根据权利要求7所述的装置,其特征在于,所述待插入数据的位置为待插入数据的位置坐标,所述待插入数据组合单元包括:
第一待插入数据组合子单元,用于在kv数据库redis中建立key-value存储结构,其中key值存储各待插入数据的位置坐标;
第二待插入数据组合子单元,用于接收各线程获取的待插入数据;
第三待插入数据组合子单元,用于根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
第四待插入数据组合子单元,用于将所述待插入数据存储至与之对应的key-value组合中的value中;
第五待插入数据组合子单元,用于利用存储有待插入数据的key-value组合生成报表数据。
10.根据权利要求9所述的装置,其特征在于,所述报表数据填充单元包括:
第一报表数据填充子单元,用于根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述目标报表模板中的插入位置坐标;
第二报表数据填充子单元,用于根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510904218.4A CN105447174B (zh) | 2015-12-09 | 2015-12-09 | 一种报表生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510904218.4A CN105447174B (zh) | 2015-12-09 | 2015-12-09 | 一种报表生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447174A true CN105447174A (zh) | 2016-03-30 |
CN105447174B CN105447174B (zh) | 2019-02-15 |
Family
ID=55557350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510904218.4A Active CN105447174B (zh) | 2015-12-09 | 2015-12-09 | 一种报表生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447174B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930313A (zh) * | 2016-04-13 | 2016-09-07 | 平安科技(深圳)有限公司 | 处理通知信息的方法和装置 |
CN106209495A (zh) * | 2016-06-24 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种云监控系统的报表生成方法及装置 |
CN106294825A (zh) * | 2016-08-17 | 2017-01-04 | 浪潮软件股份有限公司 | 一种excel数据管理方法及系统、客户端、服务端 |
CN106844323A (zh) * | 2017-02-20 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种实体构建方法及装置 |
CN107704367A (zh) * | 2017-10-10 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种资源周期信息展示方法和装置 |
CN108170721A (zh) * | 2017-12-07 | 2018-06-15 | 北京互动百科网络技术股份有限公司 | 一种用于私募基金的报表生成方法 |
CN108228548A (zh) * | 2016-12-21 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 一种报表显示方法、装置、终端及系统 |
CN108228730A (zh) * | 2017-12-11 | 2018-06-29 | 深圳市买买提信息科技有限公司 | 数据导入方法、装置、计算机设备及可读存储介质 |
CN108399154A (zh) * | 2017-12-28 | 2018-08-14 | 北京金科汇智科技有限公司 | 工程试验数据采集系统 |
CN108667721A (zh) * | 2018-05-16 | 2018-10-16 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN108921683A (zh) * | 2018-07-10 | 2018-11-30 | 深圳市科迈爱康科技有限公司 | 财务报表分析方法、系统及计算机可读存储介质 |
CN108984506A (zh) * | 2018-08-01 | 2018-12-11 | 北京中电普华信息技术有限公司 | 一种可配置的智能报表的生成方法及装置 |
CN109508953A (zh) * | 2018-10-25 | 2019-03-22 | 广州中浩控制技术有限公司 | 一种表格模板生成方法 |
CN110069453A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 运维数据处理方法和装置 |
CN110209798A (zh) * | 2017-12-22 | 2019-09-06 | 北京奇虎科技有限公司 | 一种redis数据库的数据展示方法和装置 |
CN110442763A (zh) * | 2019-08-15 | 2019-11-12 | 中国银行股份有限公司 | 生成定制化报告单的方法及装置 |
CN110516217A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种报表自动生成方法及装置 |
CN111460773A (zh) * | 2020-03-30 | 2020-07-28 | 京东数字科技控股有限公司 | 一种数据处理方法、装置、系统、电子设备及存储介质 |
CN112347127A (zh) * | 2020-06-14 | 2021-02-09 | 成玉玺 | 寄递涉烟无主案卷的生成方法及系统 |
CN112581247A (zh) * | 2020-12-24 | 2021-03-30 | 中国建设银行股份有限公司 | 一种财务报告生成方法和装置 |
CN113268501A (zh) * | 2021-05-26 | 2021-08-17 | 杭州迪普科技股份有限公司 | 一种报告生成方法及装置 |
CN115577704A (zh) * | 2022-10-31 | 2023-01-06 | 中国人民财产保险股份有限公司 | 报表校验方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368261A (zh) * | 2011-10-14 | 2012-03-07 | 成都勤智数码科技有限公司 | 一种可扩展的运维报表生成方法 |
CN104376068A (zh) * | 2014-11-07 | 2015-02-25 | 北京思特奇信息技术股份有限公司 | 一种基于动态报表模板的数据展现系统及方法 |
CN104778241A (zh) * | 2015-04-08 | 2015-07-15 | 北京京东尚科信息技术有限公司 | 一种报表生成方法及系统 |
-
2015
- 2015-12-09 CN CN201510904218.4A patent/CN105447174B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368261A (zh) * | 2011-10-14 | 2012-03-07 | 成都勤智数码科技有限公司 | 一种可扩展的运维报表生成方法 |
CN104376068A (zh) * | 2014-11-07 | 2015-02-25 | 北京思特奇信息技术股份有限公司 | 一种基于动态报表模板的数据展现系统及方法 |
CN104778241A (zh) * | 2015-04-08 | 2015-07-15 | 北京京东尚科信息技术有限公司 | 一种报表生成方法及系统 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930313A (zh) * | 2016-04-13 | 2016-09-07 | 平安科技(深圳)有限公司 | 处理通知信息的方法和装置 |
CN106209495A (zh) * | 2016-06-24 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种云监控系统的报表生成方法及装置 |
CN106294825A (zh) * | 2016-08-17 | 2017-01-04 | 浪潮软件股份有限公司 | 一种excel数据管理方法及系统、客户端、服务端 |
CN108228548B (zh) * | 2016-12-21 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种报表显示方法、装置、终端及系统 |
CN108228548A (zh) * | 2016-12-21 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 一种报表显示方法、装置、终端及系统 |
CN106844323A (zh) * | 2017-02-20 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种实体构建方法及装置 |
CN110069453A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 运维数据处理方法和装置 |
CN107704367A (zh) * | 2017-10-10 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种资源周期信息展示方法和装置 |
CN108170721A (zh) * | 2017-12-07 | 2018-06-15 | 北京互动百科网络技术股份有限公司 | 一种用于私募基金的报表生成方法 |
CN108228730A (zh) * | 2017-12-11 | 2018-06-29 | 深圳市买买提信息科技有限公司 | 数据导入方法、装置、计算机设备及可读存储介质 |
CN110209798A (zh) * | 2017-12-22 | 2019-09-06 | 北京奇虎科技有限公司 | 一种redis数据库的数据展示方法和装置 |
CN110209798B (zh) * | 2017-12-22 | 2024-05-10 | 北京奇虎科技有限公司 | 一种redis数据库的数据展示方法和装置 |
CN108399154A (zh) * | 2017-12-28 | 2018-08-14 | 北京金科汇智科技有限公司 | 工程试验数据采集系统 |
CN108667721A (zh) * | 2018-05-16 | 2018-10-16 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN108667721B (zh) * | 2018-05-16 | 2021-11-09 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
WO2019218454A1 (zh) * | 2018-05-16 | 2019-11-21 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN108921683A (zh) * | 2018-07-10 | 2018-11-30 | 深圳市科迈爱康科技有限公司 | 财务报表分析方法、系统及计算机可读存储介质 |
CN108984506A (zh) * | 2018-08-01 | 2018-12-11 | 北京中电普华信息技术有限公司 | 一种可配置的智能报表的生成方法及装置 |
CN109508953A (zh) * | 2018-10-25 | 2019-03-22 | 广州中浩控制技术有限公司 | 一种表格模板生成方法 |
CN110516217A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种报表自动生成方法及装置 |
CN110442763A (zh) * | 2019-08-15 | 2019-11-12 | 中国银行股份有限公司 | 生成定制化报告单的方法及装置 |
CN111460773A (zh) * | 2020-03-30 | 2020-07-28 | 京东数字科技控股有限公司 | 一种数据处理方法、装置、系统、电子设备及存储介质 |
CN112347127A (zh) * | 2020-06-14 | 2021-02-09 | 成玉玺 | 寄递涉烟无主案卷的生成方法及系统 |
CN112581247A (zh) * | 2020-12-24 | 2021-03-30 | 中国建设银行股份有限公司 | 一种财务报告生成方法和装置 |
CN113268501A (zh) * | 2021-05-26 | 2021-08-17 | 杭州迪普科技股份有限公司 | 一种报告生成方法及装置 |
CN115577704A (zh) * | 2022-10-31 | 2023-01-06 | 中国人民财产保险股份有限公司 | 报表校验方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105447174B (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447174A (zh) | 一种报表生成方法及装置 | |
CN105320775B (zh) | 数据的存取方法和装置 | |
CN104615699B (zh) | 一种家族网谱系统及其数据采集方法 | |
CN102682108B (zh) | 一种行列混合的数据库存储方法 | |
CN104112008A (zh) | 一种多表数据关联查询优化方法和装置 | |
CN106407371A (zh) | 用户的评论数据展现方法、系统、服务器和客户端 | |
CN110209728A (zh) | 一种分布式异构数据库同步方法、电子设备及存储介质 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN103324763B (zh) | 一种手机端树形数据结构的展现方法 | |
CN105786808A (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
CN100507921C (zh) | 一种嵌入式系统中的文字显示方法及系统 | |
CN103488727B (zh) | 基于周期对数的二维时序数据存储和查询方法 | |
CN103927331A (zh) | 数据查询方法、装置及系统 | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN103605663B (zh) | 通用的数据库校验及元数据导入方法 | |
CN105677904A (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN102890721A (zh) | 基于列存储技术的数据库建立方法及系统 | |
CN104424240A (zh) | 多表关联方法、主服务节点、计算节点及系统 | |
CN101833511B (zh) | 数据管理方法、装置和系统 | |
WO2017101643A1 (zh) | 图像存储方法和设备 | |
CN105159987A (zh) | 一种数据存储、查找方法及装置 | |
CN104978413A (zh) | Gis线数据在浏览器端可视化的装置和方法 | |
CN102521304A (zh) | 基于哈希的聚簇表存储方法 | |
CN114372097A (zh) | 一种数据集列序列化的高效连接比对实现方法及装置 | |
CN113761859A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |