• JasperReport的入门步骤


    用了几天JasperReport,写下一点心得.希望对于入门JasperReport的同仁们有帮助.

    首先,需要明白的是什么是report.通俗一点说,就是将数据以某种格式展现出来.在这里22格重要的方面,即数据和展现.

    对于数据,无非就是数据库里的数据以及经过对这些原始数据处理的数据.展现就是以某种格式将这些数据表现出来.

    对于一个刚开始接触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数据在页面上显示就没有问题了.具体参看JRHtmlExporterapi文档.

      也许你还想将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自带的不满意,那就自己写吧.

    以上就是一些基本步骤.后面将写一篇文章介绍template的结构以及组成.

  • 相关阅读:
    Python3 实现一个简单的TCP 客户端
    Mac 下 安装 和 使用 Go 框架 Beego
    Go 操作文件及文件夹 os.Mkdir及os.MkdirAll两者的区别
    Go gin 之 Air 实现实时加载
    Mac os 配置常用alias
    Mac 下 MAMP配置虚拟主机
    Thinkphp5 项目部署至linux服务器报403错误
    Linux 安装最新版 node.js 之坑
    Mac item2如何使用rz sz 上传下载命令
    Mac 使用 iTerm2 快捷登录远程服务器
  • 原文地址:https://www.cnblogs.com/confach/p/740639.html
Copyright © 2020-2023  润新知