浏览 9619 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-23
http://jasperreports.sourceforge.net iReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。 http://ireport.sourceforge.net 首先使用iReport制作报表的模板(我自己起的名词): 运行iReport,新建一个report。 在Title band中输入报表的名称,好象使用pageheader band也可以,目前我还没有弄明白2者具体的差别。 在column header band中放置一些static text,做为报表的列标题。 在detal band中放入一些textfield,显示报表的详细数据。 在summary band中放入类似于"合计"之类的textfield,这个band是显示在最后一行数据的下放。 在LastPageFooter band中放入想在最后一页显示的信息,比如说"审阅人签名"之类的。 这样报表的框架就基本上搭好了,然后compile一下检查是否有错误,如果没有错误那么就可以在程序中使用这个报表模板了。 JasperReports介绍: 使用JasperReports生成报表是非常简单的,仅仅使用net.sf.jasperreports.engine包中的几个类即可完成报表的生成、预览、打印、导出等各个功能。 1. net.sf.jasperreports.engine.JasperCompileManager类。 使用这个类的几个静态方法即可完成对报表的编译工作(具体参见api文档) 编译完成后可以JasperCompileManager有两种处理方式: 1> 返回一个JasperReport对象 2> 在.jrxml文件所在的目录生成一个.jasper文件 这两种方式是由程序员自己选择的。不过我比较倾向使用.jasper文件,毕竟报表的结构不是每天都在改动,所以每次重新编译报表并不是很划算。 2. net.sf.jasperreports.engine.JasperFillManager类 这个类的作用是用数据填充报表。它可以使用JasperReport对象也可以使用。jasper文件做为报表模板。 它同样有2中处理方式: 1> 返回一个JsaperPrint对象。 2> 在.jasper文件所在目录生成一个.jrprint文件 这个类使用net.sf.jasperreports.engine.JRDataSource接口的实现做为数据源。任何实现了JRDataSource的类均可做为数据源使用 在net.sf.jasperreports.engine.data包中定义了一些数据源,可根据自己的需要选择。这里我使用的是JRTableModelDataSource做为 数据源(因为我的报表还要显示在Table中)。 3. net.sf.jasperreports.engine.JasperPrintManager和net.sf.jasperreports.engine.JasperExportManager 者两个类的作用是打印、导出报表 他们使用 JasperPrint 和 .jrprint文件做为输入。 可以根据自己的需要使用里面的方法。 例: import net.sf.jasperreports.engine.*; import net.sf.jasperreports.view.*; public class CompileReport { public static void main(String args[]) { try { //编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件 JasperCompileManager.compileReportToFile("report.jrxml"); //填充数据,这里使用的是JREmptyDataSource JasperFillManager.fillReportToFile("report.jasper", null, new JREmptyDataSource(50)); //预览报表,false代表不是使用xml文件。 JasperViewer view = new JasperViewer("reports.jrprint", false); view.pack(); view.setVisible(true); } catch (Exception e) { e.printStackTrace() } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-13
Jasper Report在使用起来还是比较简单的,复杂的还是在报表设计上.
|
|
返回顶楼 | |
发表时间:2007-11-26
deadcode 写道 Jasper Report在使用起来还是比较简单的,复杂的还是在报表设计上.
大规模用起来恰恰相反,要集成好绝非易事!比如子报表集成、Applet方式实现、统计功能,复杂报表光靠内嵌sql来简单实现是很低效和烦琐的。 |
|
返回顶楼 | |