一种动态定制报表的方法

文档序号:8395869阅读:199来源:国知局
一种动态定制报表的方法
【技术领域】
[0001] 本发明涉及数据库应用领域,具体而言,涉及一种动态定制报表的方法。
【背景技术】
[0002] 目前,随着基于J2EE(Java2PlatformEnterpriseEdition,Java2平台企业版) 架构的应用软件的不断发展,软件实现的各种功能越来越强大,从而为用户提供了越来越 多自由发挥的空间。用户可以根据自己的习惯以及自身的需要,在软件中定制一些自己所 需的功能,如审批流程、输出报表等。在这些众多的个性化功能中,报表的输入功能是最重 要、应用最广泛的。
[0003]在现有条件中,报表的展示功能虽然比比皆是,但往往在软件设计时,查询什么数 据、提供哪些条件,已经被软件设计者所固定下来。软件使用者在提出需求阶段,就必须明 确提出自己需要显示什么内容、如何显示报表数据以及需要设定哪些条件,从而让软件设 计者在开发阶段设计出来。但是,软件使用者在使用过程中,如果发现自己还需要更多的查 询内容,或者需要改变原来报表的样式,那么他们只能漫长的等待软件下一个开发周期,才 能再次提出这样的要求,进而让软件设计者开发出来。
[0004]综上所述,如何在软件设计中实现用户定制报表查询功能,以实现用户对报表数 据更深入和更细粒度的查询分析,是本领域研究人员的一个重点研究方向。

【发明内容】

[0005]本发明提供一种动态定制报表的方法,用于根据用户自定义的报表显示样式制作 报表。
[0006]为达到上述目的,本发明提供了一种动态定制报表的方法,包括以下步骤:
[0007]生成查询项目表,接收用户定义的查询语句并保存在查询项目表中;
[0008]生成报表显示列设置表,接收用户设置的报表样式设置信息并保存在报表显示列 设置表中;
[0009]生成查询报表,从查询项目表中调取查询语句并解析,在报表数据库中执行查询 操作,将获取到的查询数据生成查询报表;
[0010] 生成报表,从报表显75列设置表中调取报表样式设置信息,根据报表样式设置信 息生成空白表格,并将查询报表中的查询数据导入空白表格,得到用户所要查询的报表。
[0011]进一步的,查询语句为SQL语句。
[0012] 进一步的,报表样式设置信息包括报表中每一列的列跨度、每一列的样式设置信 息以及每一列的显示顺序。
[0013]进一步的,当列跨度为1时,该列的样式设置信息包括以下至少一项:该列基于的 查询项目ID、原报表中该列的名称、新生成报表中该列的名称、在新生成报表中是否显示该 列的标志、表格的高度、宽度、数据的对齐方式、数据显示格式、该列对应的触发函数以及触 发函数的定义;当列跨度大于1时,该列的样式设置信息包括以下至少一项:每一分列的显 示顺序、该分列基于的查询项目ID、原报表中该分列的名称、新生成报表中该分列的名称、 在新生成报表中是否显示该分列的标志、表格的高度、宽度、数据的对齐方式、数据显示格 式、该分列对应的触发函数以及触发函数的定义。
[0014] 进一步的,列的显示顺序和分列的显示顺序存储在显示列参数数组中。
[0015] 进一步的,显示列参数数组为一维数组,显示列参数数组中元素的值为查询报表 的列序号。
[0016]进一步的,在生成报表步骤中,遍历每一组查询数据,根据显示列参数数组中设定 的列和分列的显示顺序,读取查询报表中的设定元素并将其放在空白表格中的相应位置, 并根据样式设置信息设置设定元素的格式,其中,对应触发函数的元素以超链接形式显示。
[0017] 进一步的,表格的高度、宽度、数据的对齐方式、数据显示格式以函数形式存储在 报表显示列设置表中。
[0018] 进一步的,触发函数的数目为多个时,多个触发函数之间以分隔符隔开,触发函数 中的输入参数为占位参数或查询报表的列数据值,当输入参数为查询报表的列数据值时, 将其用引号标识符进行标识,对触发函数进行解析时,将触发函数组成的字符串按引号分 隔,并对分隔后的字符串从序号1进行编号,将编号为奇数的字符串直接用字符串组拼,对 编号为偶数的字符串,判断其是否为查询报表的列数据值,如果该字符串是查询报表的列 数据值则将其按实际的值进行组拼,如果该字符串不是查询报表的列数据值则将其按字符 串进行组拼。
[0019] 进一步的,查询项目表和报表显示列设置表保存在xml文件中或数据库中。
[0020] 本发明与传统报表开发相比,增加了用户可以自定义报表相关显示设置功能,也 可以更容易地自定义报表查询语句,使用更加灵活方便。与其它同类型的报表开发模式比 较,本发明的优势在于:
[0021] 1、实现了用户自定义查询语句功能,使得使用者可以直接定义要查询报表基于的 查询内容。
[0022] 2、实现了用户自定义报表显示设置功能,用户可以设置显示的报表列、报表列的 显示顺序、表格的高度、宽度、数据的对齐方式、数据显示格式以及该列对应的触发函数,大 大增加了报表开发的灵活性和扩展性。
[0023] 3、由于可以设置报表显示的数据对应的触发函数以及输入参数,使得报表的后续 开发工作大大减轻,最大程度的让报表的使用客户个性化,并且简化了工作,极大的减少了 后续报表开发时开发人员的工作量,尽可能的减少代码修改量。
[0024] 4、用户自定义的参数保存在xml文件或数据库中,保证了前台解析程序的逻辑简 洁明了,使得程序具有良好的可读性以及易维护性,也使得执行查询操作时系统的运行速 度更高。
【附图说明】
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1