JasperReport的入门步骤
来源:互联网 发布:sql统计男女生人数 编辑:程序博客网 时间:2024/05/01 06:16
首先,需要明白的是什么是report.通俗一点说,就是将数据以某种格式展现出来.在这里2有2格重要的方面,即数据和展现.
对于数据,无非就是数据库里的数据以及经过对这些原始数据处理的数据.展现就是以某种格式将这些数据表现出来.
对于一个刚开始接触JasperReport的人来说,恐怕首先一点概念都不懂.OK,我将围绕上面提到的2个方面展开来说.
如何制作一个JasperReport报表,这是我们最关心的.
步骤通常如下:
Step1:创建一个表现数据的template,这个就是一个模型了,只需要将数据往里面装即可.
如何创建一个template?可以采用iReport来设计,他的最新版本支持当前JasperReport的最新版本1.3.3(截止撰写本文的日期).这样你只需要往里面拖拖element即可,例如StaticText,TextField等.
注意,这个template文件是以.jrxml结尾的,用记事本打开,无非就是一个xml文件而已.
Step2:编译step1创建的template ,即jrxml文件.这样会编译为一个jasper文件,这是一个二进制文件.
问题:为什么要编译它?
其实也不是必须的,也可以在运行时来编译.仔细一想,如果在运行时来编译,如果有100个用户调用相同的report,难道系统会编译100次?这样下来,其效率极其低下.如果将之直接编译好,也就节省了这100次的时间了.所以还是编译为好,从另一个角度来说,report的模板很少改变的.
问题又来了,如何编译呢?最简单的方式是利用iReport来编译,这个和IDE有点类似.当然还有其他的方法来编译,那就是JasperReport自己提供的API来编译,不过这个还需要写代码等,有点麻烦,不过等我们熟悉了JasperReport之后,再使用也未尝不可.刚开始入门时,越简单越好.
Step3:填充数据,拿行话说就是fill report.
本来这步可能在step2也可能涉及到.但为了系统讲解,还是移到这里.JasperReport填充数据有多种方法,不过最常用的就2种:一是直接在jrxml文件里嵌入sql语句,而是创建一个自己的数据源,记得这个数据源从JRDataSource继承而来.JRDataSource有个方法一定要实现,即next以及getFieldValue,具体参见其API
Step 4,将数据表现出来
JasperReport很明显可以将数据存储为PDF,xls,html等.
可能我们最常见的是将数据在浏览器直接显示,那么如何做到呢?很简单, JRHtmlExporter就可以完成.设置以下参数,然后导出即可.导出的可是html数据哟.只需要将这些html数据在页面上显示就没有问题了.具体参看JRHtmlExporter的api文档.
也许你还想将report导出到pdf,xls,doc文档,非常简单,利用jasperReport提供的serverlet类即可. net.sf.jasperreports.j2ee.servlets.PdfServlet用于PDF, net.sf.jasperreports.j2ee.servlets.XlsServlet用于xls, net.sf.jasperreports.j2ee.servlets.RtfServlet用于rtf.
对于数据,无非就是数据库里的数据以及经过对这些原始数据处理的数据.展现就是以某种格式将这些数据表现出来.
对于一个刚开始接触JasperReport的人来说,恐怕首先一点概念都不懂.OK,我将围绕上面提到的2个方面展开来说.
如何制作一个JasperReport报表,这是我们最关心的.
步骤通常如下:
Step1:创建一个表现数据的template,这个就是一个模型了,只需要将数据往里面装即可.
如何创建一个template?可以采用iReport来设计,他的最新版本支持当前JasperReport的最新版本1.3.3(截止撰写本文的日期).这样你只需要往里面拖拖element即可,例如StaticText,TextField等.
注意,这个template文件是以.jrxml结尾的,用记事本打开,无非就是一个xml文件而已.
Step2:编译step1创建的template ,即jrxml文件.这样会编译为一个jasper文件,这是一个二进制文件.
问题:为什么要编译它?
其实也不是必须的,也可以在运行时来编译.仔细一想,如果在运行时来编译,如果有100个用户调用相同的report,难道系统会编译100次?这样下来,其效率极其低下.如果将之直接编译好,也就节省了这100次的时间了.所以还是编译为好,从另一个角度来说,report的模板很少改变的.
问题又来了,如何编译呢?最简单的方式是利用iReport来编译,这个和IDE有点类似.当然还有其他的方法来编译,那就是JasperReport自己提供的API来编译,不过这个还需要写代码等,有点麻烦,不过等我们熟悉了JasperReport之后,再使用也未尝不可.刚开始入门时,越简单越好.
Step3:填充数据,拿行话说就是fill report.
本来这步可能在step2也可能涉及到.但为了系统讲解,还是移到这里.JasperReport填充数据有多种方法,不过最常用的就2种:一是直接在jrxml文件里嵌入sql语句,而是创建一个自己的数据源,记得这个数据源从JRDataSource继承而来.JRDataSource有个方法一定要实现,即next以及getFieldValue,具体参见其API
Step 4,将数据表现出来
JasperReport很明显可以将数据存储为PDF,xls,html等.
可能我们最常见的是将数据在浏览器直接显示,那么如何做到呢?很简单, JRHtmlExporter就可以完成.设置以下参数,然后导出即可.导出的可是html数据哟.只需要将这些html数据在页面上显示就没有问题了.具体参看JRHtmlExporter的api文档.
也许你还想将report导出到pdf,xls,doc文档,非常简单,利用jasperReport提供的serverlet类即可. net.sf.jasperreports.j2ee.servlets.PdfServlet用于PDF, net.sf.jasperreports.j2ee.servlets.XlsServlet用于xls, net.sf.jasperreports.j2ee.servlets.RtfServlet用于rtf.
- JasperReport的入门步骤
- Webwork使用JasperReport入门实例
- JasperReport入门二 简单例程
- iReport与JasperReport基础入门
- JasperReport| JasperReport生成的PDF时异常
- 整理的JasperReport资料
- 整理的JasperReport资料
- 整理的JasperReport资料
- JasperReport里面的Demo
- JasperReport的资料
- JasperReport里面的Demo
- jasperReport+iReport的使用
- jasperReport+iReport的使用
- jasperreport的使用
- JasperReport
- JasperReport
- JasperReport
- Jasperreport
- Log4net
- CAD2007 病毒 处理办法
- 视频---好象可以提高速度
- 工作和生活
- String & StringBuffer
- JasperReport的入门步骤
- 图片中央覆盖文字
- The GNU STL allocator 实现
- SQL Server 中调整自增字段的当前初始值
- 图解eclipse中执行C语言程序
- Stream应用注意点
- $* and $@
- jqModal jquery 插件 潇湘博客
- STL算法