一 相关基础知识 1.关于JasperReport和iReport Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等. 而iReport就是一个可以帮助我们制作Jasperreport的XML文件的可视化开发工具。他的作用和dreamware的作用是类似的.
2、下载ireport和jasperreport
官方网址:http://community.jaspersoft.com
1) 下载 jasperreport
截至 2013/12/13, 最新版本是 5.1
jasperreport 下载地址:
http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%205.1.0/
jasperreports-5.1.0.jar 对应的jar 包
jasperreports-5.1.0-project.zip 开发的源代码( 包含源码和lib 包)
建议是两个都下载。(需使用包和相应的依赖包)
2) 下载 ireport
http://community.jaspersoft.com/project/ireport-designer
二. 简单测试实例
这里以简单产生一个pdf文件为例。 (在 pdf 中输入一行文字)
1. 在Eclipse 新建一个java Project。 并导入以下lib包(从以上的下载中可以找到)
castor-1.2.jar
commons-beanutils-1.8.0.jar
commons-collections-2.1.1.jar
commons-digester-2.1.jar
commons-logging-1.1.1.jar
iText-2.1.7.js2.jar
jasperreports-5.1.0.jar
如果嫌麻烦, 可以将下载的jasperreports jar 包和开发源码包中所有的lib 到导入
2. 在项目根路径下新建 HelloJasperReport.jrxml,内容如下
<?xml version="1.0" encoding="UTF-8"?><jasperReport name="FirstReport"> <detail> <band height="20"> <staticText> <reportElement x="20" y="0" width="200" height="20" /> <text><![CDATA[If you don't see this, it didn't work]]></text> </staticText> </band> </detail> </jasperReport>
3. 在com.oscar999包下,新建 HelloJasperReport.java
package com.oscar999;import java.util.HashMap;import net.sf.jasperreports.engine.JREmptyDataSource;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;public class HelloJasperReport {/** * @param args * @throws Exception */public static void main(String[] args) throws Exception {// TODO Auto-generated method stubJasperReport jasperReport;JasperPrint jasperPrint;try {jasperReport = JasperCompileManager.compileReport("HelloJasperReport.jrxml");jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), new JREmptyDataSource());JasperExportManager.exportReportToPdfFile(jasperPrint,"HelloJasperReport.pdf");} catch (JRException e) {e.printStackTrace();}}}
4. 运行之后, 会发现在项目根路径下会多出一个 HelloJasperReport.pdf 的文件。打开就可以看到效果。
三. 总结
这里只是一个最简单的实例。
1. 除了可以导出pdf 格式之外,还可以导出很多其他的格式。
2. 可以取数据库数据进行展现
3. jrxml 该如何写? 使用ireport 这个工具就可以很容易的通过界面的方式画出这个文件。
积极思考造成积极人生,消极思考造成消极人生。