论坛首页 Java企业应用论坛

Excel Report 一个小巧实用基于java实现的Excel报表生成工具

浏览 18063 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-06   最后修改:2009-03-24
基于Excel文件格式的报表生成器介绍

下载:http://code.google.com/p/excelreport/downloads/list最新版本:0.9.18
下载包中附带使用手册和example。
常见问题反馈: http://groups.google.com/group/excel-report?hl=en
Email:22062164 at qq.com


ExcelReport 是什么?
    ExcelReport是一款基于Excel的轻量级地报表生成工具,它通过用户定义报表模板文件,定义数据源,并配置相应的配置文件,就可以通过页面向指定Servlet请求输出报表,其生成的报表是一个excel文件。通过模板文件的方式来生成Excel文件,可以让程序员从对生成特定格式的Excel文件输出格式的控制以及Excel文件读写等纷繁复杂而又容易出错的细节中解放出来,使得程序员只需组装自己的数据源,而根本不需要关心如何去生成Excel文件,如何用程序去控制最终的文件输出效果,从而大大增强了程序的可维护性,因为很多的报表输出格式的修改只需通过模板文件的修改就可以实现,而无需改动程序。同时该报表工具又提供一些灵活的特性来使得用户可以自由控制报表的输出过程。

ExcelReport的灵活性
数据源的自定义:
    用户可以自己定义数据源以替代默认实现,例如,我们可以编写一个自己的数据库数据源,通过定义该数据源我们可以利用现有系统的数据库连接及数据检索框架等。

嵌入报表数据处理类:
    用户可以嵌入自己报表数据处理类(通过配置文件配置),通过嵌入用户自己的报表数据处理类,报表工具给用户提供了一个入口让用户参与报表的生成过程。比如,用户可以在生成报表前来组合自己的数据源,在这里用户完全可以充分利用现有系统的相关业务类来生成自己的数据源。

插入查询监听器:
    用户可以插入自己的查询监听器,通过监听数据源的查询请求来做相关数据的检索及处理等工作(该功能在主从报表中尤其有用)。

插入字段监听器:
通过插入字段监听器,使得用户可以参与报表的输出过程,控制报表的具体输出的数据。

目前它具有那些功能?
1. 卡片式报表的支持。
2. 列表式报表的支持。
3. 主从式报表的支持。
4. 分组式报表的支持。(注:主从式和分组式之间可以任意嵌套,即一个主从式报表中我们可以嵌套一个分组从而实现对主记录或从记录进行分组的功能,反之也如此。)
5. 格式化的数据输出,该报表工具支持所有Excel的格式化输出控制。
6. 支持所有Excel的函数。

它与普通报表工具的区别:
1. ExcelReport是一个完全基于excel的报表工具,其最大的特点是完全依赖于excel。这是其于其他任何报表工具的最大区别。
2. 通过依赖于Excel它具备了以下优点:
    a. 省略了专门的报表模板定义工具,应为该工具就是Excel本身,相信Excel的强大功能可以胜过任何其他报表工具模板定义工具。
    b. 可以充分利用Excel的强大功能,如Excel函数库及其相关的脚本技术,Excel的图表(暂未提供支持)以及其对打印功能的强大控制能力。
   发表时间:2009-02-09  
大体看了一下, 跟jxls(http://jxls.sf.net)比较类似
0 请登录后投票
   发表时间:2009-02-23  
shinwell 写道
大体看了一下, 跟jxls(http://jxls.sf.net)比较类似

侧重点不同,
1.Excel Report是一个报表工具。因此它的很多结构(包括模板的定义)都是按照报表工具的模式来设置,此外支持多重嵌套的主从报表模式(从报表是根据主报表的某些字段值来动态检索数据)、嵌套分组报表,以及相应的统计函数设置(可以统计每个分组的某列或几列记录的值,比如求平均值)。
2.Excel Report可以在数据源中以及在字段模板中插入相应监听器,这样可以用户参与数据的检索过程以及数据的输出过程。在嵌套的报表中这个特性很重要。
0 请登录后投票
   发表时间:2009-02-24  
偶也做了一个
http://code.google.com/p/exreport/downloads/list

http://setting.iteye.com/blog/206038
0 请登录后投票
   发表时间:2009-03-04  
kimmking 写道
偶也做了一个
http://code.google.com/p/exreport/downloads/list

http://setting.iteye.com/blog/206038


工具使用的侧重点完全不同吧,一个是前端生成处理Excel文件,而Excel Report是在服务器端生成Excel文件,更重要的是Excel Report具有普通报表工具所应该具备的功能。
0 请登录后投票
   发表时间:2009-03-04  
ajunisme 写道
kimmking 写道
偶也做了一个
http://code.google.com/p/exreport/downloads/list

http://setting.iteye.com/blog/206038


工具使用的侧重点完全不同吧,一个是前端生成处理Excel文件,而Excel Report是在服务器端生成Excel文件,更重要的是Excel Report具有普通报表工具所应该具备的功能。

偶的报表比较粗糙,
现在只支持 一般的数据展示报表和多级的交叉报表~~
0 请登录后投票
   发表时间:2009-03-18  
支持分页吗,这个很重要
0 请登录后投票
   发表时间:2009-03-18  
风清云淡 写道
支持分页吗,这个很重要

不知道是你火星了还是我火星了……
0 请登录后投票
   发表时间:2009-03-18  
天机老人 写道
风清云淡 写道
支持分页吗,这个很重要

不知道是你火星了还是我火星了……

呵呵,怪我表达错误,我说的意思是支持在浏览器中直接进行分页打印预览(类似birt)。客户一般都有这种需求。

0 请登录后投票
   发表时间:2009-03-24  
风清云淡 写道
天机老人 写道
风清云淡 写道
支持分页吗,这个很重要

不知道是你火星了还是我火星了……

呵呵,怪我表达错误,我说的意思是支持在浏览器中直接进行分页打印预览(类似birt)。客户一般都有这种需求。


我不是很清楚你说的分页的具体用处,但在Excel Report中工具本身并不提供所谓分页不分页的功能,如果要打印,则用Excel的分页功能。如果设置打印页头页尾属性可以直接在Excel模板中设置即可。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics