一种基于excel的报表生成方法及其装置与流程

文档序号:13072654阅读:112来源:国知局
一种基于excel的报表生成方法及其装置与流程

本发明涉及报表生成技术领域,特别是涉及一种基于excel的报表生成方法及其装置。



背景技术:

microsoftexcel是微软公司的办公软件microsoftoffice的组件之一,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。

目前的excel中,每次想要生成报表(表格、各种折线图、饼状图、柱状图等),均需要人工选中相应的区域,然后人工选中报表类型、报表横纵坐标等数据,操作复杂,由于对于一些企业来说,工作中所需要生成的报表类型一般为固定的几种,每次生成报表时均重复上述过程不仅浪费时间,且不够便利。

因此,如何提供一种操作便利的基于excel的报表生成方法及其装置是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种基于excel的报表生成方法及其装置,减少了每次生成报表时设置报表类型参数的操作,节省时间,操作便利。

为解决上述技术问题,本发明提供了一种基于excel的报表生成方法,包括:

接收用户输入的报表生成条件,所述报表生成条件包括报表数据的筛选条件以及报表模板名称;

依据所述筛选条件从数据库内读取相应的数据;

依据所述报表模板名称以及预先封装的报表数据结构,调用相应的报表模板;

将所述数据库中读取的数据套用至所述报表模板内生成用户需要的报表文件。

优选地,所述依据所述筛选条件从数据库内读取相应的数据之后还包括:

调用预设的数据解析算法对所述数据库中读取的数据进行解析处理;

相应的,将解析处理后的数据套用至所述报表模板内生成用户需要的报表文件。

优选地,所述报表生成条件还包括报表导出时间范围和导出周期;

所述依据所述筛选条件从数据库内读取相应的数据具体为:

依据所述筛选条件按照所述导出周期,周期性地从数据库内读取相应的数据。

优选地,所述报表生成条件还包括同步修改选项;

所述方法还包括:

若用户输入的同步修改选项为选定时,当所述报表文件对应的筛选条件内的数据发生修改时,调用预先封装的工具类中的offset函数同步修改所述报表文件的相关数据。

优选地,所述报表数据结构包括对应的报表模板的路径、报表文件名称、报表模板内各个sheet的配置信息和数据格式信息。

为解决上述技术问题,本发明还提供了一种基于excel的报表生成装置,包括:

模板自定义模块,用于接收用户输入的设置参数,并依据所述设置参数生成相应的报表模板,解析各个报表模板中的信息封装为系统可识别的数据结构并进行存储;

条件接收模块,用于接收用户输入的报表生成条件,所述报表生成条件包括报表数据的筛选条件以及报表模板名称;

数据读取模块,用于依据所述筛选条件从数据库内读取相应的数据;

模板调用模块,用于依据所述报表模板名称以及预先封装的报表数据结构,调用相应的报表模板;

文件生成模块,用于将所述数据库中读取的数据套用至所述报表模板内生成用户需要的报表文件。

优选地,还包括:

解析模块,用于调用预设的数据解析算法对所述数据库中读取的数据进行解析处理,并将解析处理后的数据发送至所述文件生成模块。

优选地,所述报表生成条件还包括报表导出时间范围和导出周期;所述装置还包括:

定时模块,用于依据所述报表导出时间范围和导出周期,周期性地触发所述数据读取模块和所述模板调用模块。

优选地,所述报表生成条件还包括同步修改选项;

所述装置还包括:

同步调整模块,用于若用户输入的同步修改选项为选定时,检测到所述报表文件对应的筛选条件内的数据发生修改时,调用预先封装的工具类中的offset函数同步修改所述报表文件的相关数据。

本发明提供了一种基于excel的报表生成方法及其装置,接收用户输入的报表数据的筛选条件以及报表模板名称之后,即可读取预存的相应的数据并调用相应的报表模板,然后将读取的数据套用值调用的报表模板内,即得到用户需要的报表文件。通过本发明,使得用户不必再每次生成报表时,均进行选择报表类型,设置报表参数等操作,而是只需要输入报表生成条件,即可自动生成所需的报表,减少了大量的重复操作,节省时间,操作便利。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于excel的报表生成方法的过程的流程图;

图2为本发明提供的一种基于excel的报表生成装置的结构示意图。

具体实施方式

本发明的核心是提供一种基于excel的报表生成方法及其装置,减少了每次生成报表时设置报表类型参数的操作,节省时间,操作便利。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种基于excel的报表生成方法,参见图1所示,图1为本发明提供的一种基于excel的报表生成方法的过程的流程图;该方法包括:

步骤s1:接收用户输入的报表生成条件,报表生成条件包括报表数据的筛选条件以及报表模板名称;

步骤s2:依据筛选条件从数据库内读取相应的数据;

步骤s3:依据报表模板名称以及预先封装的报表数据结构,调用相应的报表模板;

步骤s4:将数据库中读取的数据套用至报表模板内生成用户需要的报表文件。

其中,本发明的报表模板类型包括只有数据的统计表格、单一图形报表、多种图形组合的单一数据报表、多种图形组合的复合数据报表。其中,单一图形报表指的是该报表模板内仅包含一个图形报表,例如饼状图、柱状图、折线图等,且报表模板不包括多个sheet;多种图形组合的单一数据报表指的是该报表模板内包含多个类型报表,例如包含一个数据表格以及一个饼状图,但是该模板内的每个报表均是一个单一类型的报表,相互独立,而不是多种类型报表的组合;多种图形组合的复合数据报表指的是该报表模板内包含的报表为多种类型的报表的组合,例如柱状图和折线图的复合报表,该报表中折线图和柱状图共用一组坐标轴。当然,以上仅为优选方案,具体的报表模板可用户自定义设置。

进一步可知,报表模板的制作过程具体为:

接收用户输入的设置参数,并依据设置参数生成相应的报表模板,解析各个报表模板中的信息封装为系统可识别的数据结构并进行存储。

其中,报表数据结构包括对应的报表模板的路径、报表文件名称、报表模板内各个sheet的配置信息和数据格式信息。当然,数据结构还可包含其他内容,本发明对此不作具体限定。

作为优选地,步骤s2之后还包括:

步骤s21:调用预设的数据解析算法对数据库中读取的数据进行解析处理;

相应的,将解析处理后的数据套用至报表模板内生成用户需要的报表文件。

可以理解的是,数据库中存储的有些数据会随着时间不断变化,因此生成报表文件时需要先对数据库中读取出的数据进行解析。解析过程可以为:通过直接读取数据库中的存储过程返回统计数据(算法在存储过程中完成充分发挥数据库级别的统计算法),然后在java中自定义算法完成数据的解析(可扩展行比较强);当然,也可采用其他方式进行解析,解析过程及解析算法本发明均不作限定。

在优选实施例中,报表生成条件还包括报表导出时间范围和导出周期;

依据筛选条件从数据库内读取相应的数据具体为:

依据筛选条件按照导出周期,周期性地从数据库内读取相应的数据。

即,用户可以通过设置报表导出时间范围和导出周期,来使得在这个时间范围内,周期性的自动生成相应的报表文件。

另外,生成用户需要的报表文件后,可以由用户选择是否进行存储,也可以采取自动存储的策略,具体采用哪种方式本发明不作具体限定。

作为优选地,报表生成条件还包括同步修改选项;

该方法还包括:

若用户输入的同步修改选项为选定时,

当报表文件对应的筛选条件内的数据发生修改时,调用预先封装的工具类中的offset函数同步修改报表文件的相关数据。

可以理解的是,excel中,当生成报表的数据之外的数据发生变化(例如增加)时,是不会对报表产生影响的,但是实际上有时增加的数据与生成报表的数据处于同一标题下,为了使报表能够同步修改,减少用户的操作,用户可以选定进行同步修改。

本发明提供了一种基于excel的报表生成方法,接收用户输入的报表数据的筛选条件以及报表模板名称之后,即可读取预存的相应的数据并调用相应的报表模板,然后将读取的数据套用值调用的报表模板内,即得到用户需要的报表文件。通过本发明,使得用户不必再每次生成报表时,均进行选择报表类型,设置报表参数等操作,而是只需要输入报表生成条件,即可自动生成所需的报表,减少了大量的重复操作,节省时间,操作便利。

本发明还提供了一种基于excel的报表生成装置,参见图2所示,图2为本发明提供的一种基于excel的报表生成装置的结构示意图。该装置包括:

模板自定义模块1,用于接收用户输入的设置参数,并依据设置参数生成相应的报表模板,解析各个报表模板中的信息封装为系统可识别的数据结构并进行存储;

条件接收模块2,用于接收用户输入的报表生成条件,报表生成条件包括报表数据的筛选条件以及报表模板名称;

数据读取模块3,用于依据筛选条件从数据库内读取相应的数据;

模板调用模块4,用于依据报表模板名称以及预先封装的报表数据结构,调用相应的报表模板;

文件生成模块5,用于将数据库中读取的数据套用至报表模板内生成用户需要的报表文件。

作为优选地,该装置还包括:

解析模块6,用于调用预设的数据解析算法对数据库中读取的数据进行解析处理,并将解析处理后的数据发送至文件生成模块5。

优选地,报表生成条件还包括报表导出时间范围和导出周期;装置还包括:

定时模块7,用于依据报表导出时间范围和导出周期,周期性地触发数据读取模块3和模板调用模块4。

作为优选地,报表生成条件还包括同步修改选项;

该装置还包括:

同步调整模块8,用于若用户输入的同步修改选项为选定时,检测到报表文件对应的筛选条件内的数据发生修改时,调用预先封装的工具类中的offset函数同步修改报表文件的相关数据。

具体的,为实现上述目的,该装置具体需要封装相应的模板生成工具和数据分析工具,得到工具类;其中,上述工具包括sheet样式的设置、单元格合并、单元格复制、数据合法性校验等。当然,具体还需要封装哪些工具类供后续调用可根据需要而定,本发明不作具体限定。

本发明提供了一种基于excel的报表生成装置,接收用户输入的报表数据的筛选条件以及报表模板名称之后,即可读取预存的相应的数据并调用相应的报表模板,然后将读取的数据套用值调用的报表模板内,即得到用户需要的报表文件。通过本发明,使得用户不必再每次生成报表时,均进行选择报表类型,设置报表参数等操作,而是只需要输入报表生成条件,即可自动生成所需的报表,减少了大量的重复操作,节省时间,操作便利。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1