主流开源报表软件的简介

转自www.biworld.org

在开源的世界中,报表工具是不可缺少的,在这些多如牛毛的开源报表中,以下三个报表工具的影响较为深渊
1、FreeReport

FastReport(网址 http://www.fast-report.com ),是一个俄国人开发的报表系统,报表设计器的图形化用户界面做得非常精致,她是典型的控件拖放的设计模式。报表分为几个大块(Band),这些块区分为页眉,表身和页脚,其中只有一个页眉和页脚,可以有多个表身。而所有的报表元素分布在这些块上面,因此这种报表的页面模型是两层,对于复杂的报表则可能过于简单。她支持的页面元素类型比较多,报表数据源还是普通的基于SQL查询的二维表格方式。

      FastReport提供一个版本FreeReport,她是FastReport的旧的低级的版本,但提供所有源代码,因此很多公司借助她来进行Web报表的开发。一般的做法为首先使用其提供的报表设计器设计报表,文件保存到Web服务器,然后后台页面程序(例如ASP或JSP)查询数据库获得数据,然后拼凑JavaScript或VBScript等客户端脚本代码文本随着HTML代码发送到客户端,客户端的IE页面嵌入FreeReport控件,而客户端脚本代码向该控件填充数据,然后控制它进行打印。这种报表开发模式非常麻烦,当用户需求经常改变,程序员们只有疲于奔命的修改后台程序。

    这个报表是比较早的开源报表,是用delphi编写的;目前上海的数巨报表和深圳明宇的如意报表就是基于这个开源的报表包装,并进行商业上的销售的。

2、Jasper Report

Jasper Report是用java(最新版也支持Groovy)实现报表的一系列开发包(事实上jasperReport.jar包会依赖于其他几个开源的java包,详细可以在iReport安装目录的/lib目录下找到),最重要的是这一系列工具包大多是开源的,所以在同类产品中算是使用比较广泛。

iReport是基于Jasper Report系列工具包实现的一个图形化报表编辑工具。它通过XML来定义报表模板,可以实现多种数据源的呈现,包括数据库,XML文件,Hibernate,CSV文件等,可以生成PDF,Excel,HTML等报表格式。

由于是比较早的Java开源报表,可以算是Java开源报表工具的鼻祖了,在Java的业界影响比较大,应用也比较多,也有国内的公司在此基础上封装,用作自己的内部报表解决解决方案,例如:清华同方等等很多,在此不一一列举!

3、Eclipse BIRT

BIRT 开源报表软件是基于 Eclipse 开发平台的面向下一代商业应用的大型报表软件系统。该项目是由美国 Actuate 软件公司与清华大学信息研究院 Web 与软件技术研究中心合作开发的。

   BIRT 利用 Eclipse 平台,面向商务智能 (Business Intelligence) 和报表空间,其功能集中在从数据源提取数据、处理数据并显示数据。 BIRT 的最初目标是使用 Eclipse 提供一个框架,用以在某组织内设计、布置和查看报表,并包含查询等工具。

   BIRT 的报表有四个主要部分:数据 (Data) 、数据转换 (Data Transforms) 、业务逻辑 (Business Logic) 、展示 (Presentation) 。使用 BIRT ,用户可以在应用中增加多种形式的报表:列表 (Lists) 、图表 (Charts) 、交叉表 (Crosstabs) 、文档 (Letters &Documents) 、组合报告 (Compound Reports) 。

   BIRT 包括下面几个工具: Eclipse Report Designer(ERD) 、 Eclipse Report Engine(ERE) 、 Eclipse Charting Engine(ECE) 、 Web Based Report Designer(WRD) 。  

    由于背后有公司支撑,BIRT发展很迅速,在JAVA开源报表工具领域大有后来居上的势头;目前国内普元的EOS报表、杭州数新的Java报表都是基于这个开源的产品改进的,当然还有很多国内的公司用BIRT作为自己的内部报表解决方案,并不直接对外销售,只是打包在自己的项目解决方案中。

 

你可能感兴趣的:(eclipse,设计模式,Web,Excel,groovy)