一种生成报表的方法及系统技术方案

技术编号:4279399 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种使用脚本语言生成报表的方法及系统,包括步骤:使用脚本语言定制报表指令并将所述定制报表指令加以封装,形成定制报表指令集;使用脚本语言编写定制模板报表,定义DSL模板报表;解析DSL报表指令文件,通过专门编写的解析程序自动化分析报表指令文件,并将分析后的结果以报表形式展现出来。本发明专利技术实施例中的技术方案不必利用专门的软件来或利用WEB方式来设计报表模型开发报表,而且在需要转换报表类型时操作简单,从而开发效率高,重复性工作少。

【技术实现步骤摘要】

本专利技术涉及计算机软件领域,更具体地说,涉及一种生成报表的方法及系统
技术介绍
目前报表生成所采用的技术,均为界面设计,首先根据所要设计报表的特点,选择 不同的报表类型,进行一些初始化设置;然后利用报表软件提供的界面,设计报表模型。 在现有技术的方案中采用界面设计报表模型,再加载报表模型,展现出实际的报 表。比如现有技术的方案中采用类似Excel报表设计模型(常用的报表软件如水晶报表、 润乾报表等均采用这种形式),在处理复杂报表(复合报表等)设计时,界面设计简洁,具有 一定优势;但在处理简单报表以及格式相对固定的报表时,由于现有技术为界面设计报表 模型,所以必须利用专门的软件来或利用WEB方式来设计报表模型开发报表,在需要转换 报表类型时操作比较复杂,所以开发效率较低,重复性工作较多。
技术实现思路
有鉴于此,本专利技术实施例提供了一种使用脚本语言生成报表的方法及系统,以实 现方便高效的开发表报。 为了实现上述目的,本专利技术实施例提供了如下技术方案 —种生成报表的方法,包括步骤 使用脚本语言定制报表指令并将所述定制报表指令加以封装,形成定制报表指令 集; 为所需的各个类型报表及其典型应用编写DSL模板,所述DSL模板为通过脚本语言使用所述指令集中的指令编写形成的报表指令文件; 通过解析程序分析所需的DSL模板,以分析后的结果生成报表。 优选的,在本专利技术实施例所述方法中,所述脚本语言为Groovy、 JavaScript、 Ruby或VbScript。 优选的,在本专利技术实施例所述方法中,所述脚本语言使用Uedit编辑器或Windows 中的记事本程序作为编辑。 优选的,在本专利技术实施例所述方法中,所述定制报表指令包括方法指令和属性指 令。 优选的,在本专利技术实施例所述方法中,所述方法指令内可以包含子方法指令;所述属性指令可以包含属性节点。 —种生成报表的系统,包括 定制报表指令集形成装置,用于使用脚本语言定制报表指令并将所述定制报表指 令加以封装,形成定制报表指令集; DSL模板报表定义装置,用于为所需的各个类型报表及其典型应用编写DSL模板, 所述DSL模板为通过脚本语言使用所述指令集中的指令编写形成的报表指令文件; DSL报表指令解析装置,用于通过解析程序分析所需的DSL模板,以分析后的结果 生成报表。 优选的,在本专利技术实施例所述系统中,所述脚本语言为Groovy、 JavaScript、 Ruby 或VbScript。 优选的,在本专利技术实施例所述系统中,所述脚本语言使用Uedit编辑器或Windows 中的记事本程序作为编辑。 优选的,在本专利技术实施例所述系统中,所述定制报表指令包括方法指令和属性指 令。 优选的,在本专利技术实施例所述系统中,所述方法指令内可以包含子方法指令;所述 属性指令可以包含属性节点。 通过以上技术方案可以看出,在本专利技术实施例的方法或系统中,通过脚本语言编 写专门用于生成报表的DSL,并采用模版报表的设计思路,从而使得报表的设计人员可以不 用具备良好的编程能力的情况下,通过简单的学习后就可以用诸如Windows中的记事本或 Uedit编辑器等来编写简洁的代码来高效的完成报表的设计。解决了现有技术中在处理简 单报表以及格式相对固定的报表时,必须利用专门的软件来或利用WEB方式来设计报表模 型生成报表,在需要转换报表类型时操作比较复杂,所以开发效率较低,重复性工作较多的 技术问题。附图说明 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1为本专利技术实施例中所述方法的步骤流程图; 图2为本专利技术实施例中所述系统的组成示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 为了能够更好的理解本专利技术实施例,以下是对本专利技术实施例中应用到的一些技术 内容所作的相应说明 DSL(domain specific language),即领域专用语言,其基本思想是求专不求全, 不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机 语言。它是具有针对某一领域的特点量身定制的用来完成特定功能的一种编程语言。其特 点是其功能具有很强的针对性、代码简洁且简单易学。 脚本语言,即脚本语言或其扩建的语言,又叫动态语言。是一种编程语言控制软件 应用程序。它的执行独立于任何其他的应用。它可以不需要安装任何专门软件就可以在诸4如WINDOWS中自带的记事本等文本编辑器中完成程序的开发。 报表模板、报表模板可以被认为是原始报表中的数据和模板报表布局之间的关 联。模板中包含了基本结构,当相应字段被添加到报表时,可以相应的格式予以显示和格式 化报表。报表模板实际上是通常的报表文件。这意味着你能够使用事实上任何的报表文件 作为报表模板。模板能够被应用到其它报表,所以它们的格式化和布局能够用作其它报表 的基础。把模板应用到其它报表,布局等格式化将被应用到报表。模板能够存储许多类型 的对象。报表设计过程中的集中数据部分完成后,这些对象能够被应用到报表。这种方式 可以节约大量的重复性劳动,有效的提高开发效率。 本专利技术公开了一种使用脚本语言的DSL生成报表的方法,以实现方便高效的生成 表报。通过脚本语言编写专门用于生成报表的DSL,并采用模版报表的设计思路,从而使得 报表的设计人员可以不用具备良好的编程能力的情况下,通过简单的学习后就可以使用诸 如Windows中的记事本或Uedit编辑器等来编写简洁的代码来高效的完成报表的设计。本 专利技术实施例中的脚本语言可以是JavaScript、VbScript、Ruby或Groovy等计算机脚本编程 语言。图1为本专利技术实施例中所述方法的步骤流程图。以下根据图1所示并以Groovy脚本语言为例来说明本专利技术实施例方法的具体步骤 步骤Sll、定制报表指令,形成定制报表指令集。 本专利技术实施例使用脚本语言Groovy定制报表指令,根据要实现的报表特点,定制报表指令。再利用脚本语言Groovy将定制的报表指令加以封装,形成所需的报表指令集。 所述指令可以包括方法指令和属性指令对应。方法指令内可以包含子方法指令,而属性指令内不含任何子指令,属性指令可包含属性节点。 比如,在使用Groovy脚本语言为开发语言时, 方法指令可以归类如表1所示 表1<table>table see original document page 5</column></row><table>方法指令名称指令作用order排序指令group分组指令 属性指令可以归类如表2所示 表2属性指令名称所属方法指令指令作用createreport/table定义报表属性参数iddata数据源名称dsdata数据源标识本文档来自技高网...

【技术保护点】
一种生成报表的方法,其特征在于,包括步骤:    使用脚本语言定制报表指令并将所述定制报表指令加以封装,形成定制报表指令集;    为所需的各个类型报表及其典型应用编写DSL模板,所述DSL模板为通过脚本语言使用所述指令集中的指令编写形成的报表指令文件;    通过解析程序分析所需的DSL模板,以分析后的结果生成报表。

【技术特征摘要】
一种生成报表的方法,其特征在于,包括步骤使用脚本语言定制报表指令并将所述定制报表指令加以封装,形成定制报表指令集;为所需的各个类型报表及其典型应用编写DSL模板,所述DSL模板为通过脚本语言使用所述指令集中的指令编写形成的报表指令文件;通过解析程序分析所需的DSL模板,以分析后的结果生成报表。2. 根据权利要求1所述方法,其特征在于,所述脚本语言为Groovy、 JavaScript、 Ruby 或VbScript。3. 根据权利要求1或2中所述方法,其特征在于,所述脚本语言使用Uedit编辑器或 Windows中的记事本程序作为编辑。4. 根据权利要求1或2中所述方法,其特征在于,所述定制报表指令包括方法指令和属 性指令。5. 根据权利要求4所述方法,其特征在于,所述方法指令内包含子方法指令;所述属性 指令包含属性节点。6. —种生成报表的系统,其特征在于,包括定制...

【专利技术属性】
技术研发人员:陈军营车帅
申请(专利权)人:山东中创软件工程股份有限公司山东中创软件商用中间件股份有限公司
类型:发明
国别省市:88[中国|济南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1