JasperReport简易入门教程

1、JasperReports简介

 

1) JaspersoftCommunity Jasper 产品列表

Ø  JasperReportsServer

Ø  JaspersoftStudio

Ø  JasperReports Library

Ø  JaspersoftETL

Ø  Visualize.js

 

 

2) JasperReports介绍

JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports 支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。

 

 

3) JasperReportsLicense授权

 

Provider:  JaspersoftCorporation

Category:

License:   LGPL

 

即是说,可以免费使用JasperReports开发产品,而不公开产品源代码。但有个前提:如果对JasperReports源码进行了修改或衍生,则必须公开整个产品的源码。

 

 

4) 官网网址:

http://community.jaspersoft.com/project/jasperreports-library

 

 

2、iReport工具简介

 

iReport也是开源组织sf.net中的一款免费软件,是为JasperReport设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。这个工具允许用户可视化编辑包含charts、图片、子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包,允许用户可视化地编辑XML(JasperDesign)文件。用于打印的数据可以通过多种方式获取包括:JDBC,TableModels, JavaBeans, XML,Hibernate(支持HQL查询语言), CSV等。它支持多种输出格式包括:PDF,RTF,XML,XLS,CSV,HTM。

注意下载的iReport一定要与你所使用的JasperReport 版本相匹配

 

下载地址:

https://sourceforge.net/projects/ireport/files/?source=navbar

 

下载安装后,可以iReport文件夹中,可以找到它对应的JasperReports library.

 

3、iReport报表绘制

 

不同版本的iReport在界面上会存在一些差异,以下文档基于iReport-5.5.0编写

 

1) 新建报表

 

 

 

 

【文件】à【New…】

JasperReport简易入门教程_第1张图片


选择一个模版,【Openthis Template】

JasperReport简易入门教程_第2张图片


通过【Browse】选择文件保存位置,并填写报表名称【Report name】

 JasperReport简易入门教程_第3张图片


完成

 

 JasperReport简易入门教程_第4张图片

 

 

 

 

 

 

 

2) 创建Database Sources


点击【ReportDatasources】图标

JasperReport简易入门教程_第5张图片
【New】

 JasperReport简易入门教程_第6张图片

 


选择一个datasourcetype,这里选【Database JDBC connection】

JasperReport简易入门教程_第7张图片



填写数据库连续的相关信息,并保存

JasperReport简易入门教程_第8张图片


勾选默认Datasources,并关闭窗口

JasperReport简易入门教程_第9张图片

3) 
设置报表主要SQL

 

 JasperReport简易入门教程_第10张图片

 

 


输入主要SQL,相应的结果集的列会出现在下方

 

 JasperReport简易入门教程_第11张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4) 报表结构

JasperReport简易入门教程_第12张图片



5) 在Detail中使用SQL结果

JasperReport简易入门教程_第13张图片




6) 
使用iReport内置变量

 JasperReport简易入门教程_第14张图片



7) 使用报表外部参数

右键【Parameters】,选择【添加Parameter】

 JasperReport简易入门教程_第15张图片

 


通过右侧的【属性面板】修改参数名称,并拖动到报表中

JasperReport简易入门教程_第16张图片



8) 使用Dateset 创建汇总报表 (次要SQL)

 


右键【报表名称】(比如report_test002),选择【Add Dataset】

JasperReport简易入门教程_第17张图片




填写Dataset名称,【下一步】

 JasperReport简易入门教程_第18张图片




选择DataSources,并填写SQL语句

 JasperReport简易入门教程_第19张图片

 

 

 

选择要使用的列,并【下一步】

JasperReport简易入门教程_第20张图片




使用Group组自动Group up,也可通过SQL进行Group up

 JasperReport简易入门教程_第21张图片

 

 

通过【窗口-->组件面板】打开组件面板

JasperReport简易入门教程_第22张图片





拖动Chart图标到报表中

JasperReport简易入门教程_第23张图片



选择一个图表类型,【OK】

 JasperReport简易入门教程_第24张图片





选择要使用的DataSet(比如上文刚刚创建的myDataSet1)

 JasperReport简易入门教程_第25张图片

 

 

 

填写Series描述

JasperReport简易入门教程_第26张图片




通过右侧按钮填写横坐标分组组名,即分组值

JasperReport简易入门教程_第27张图片




9) 预览报表


通过【预览】图标查看报表结果

JasperReport简易入门教程_第28张图片



如果有外部参数,将会弹出提示框要求录入

JasperReport简易入门教程_第29张图片



看到报表结果,可以通过【Designer】图标返回到设计界面

 JasperReport简易入门教程_第30张图片



10)编译报表


通过【编译】图标,可以对报表进行编译

JasperReport简易入门教程_第31张图片


编译后,同个目录下,可以找到编译后的文件:

比如,report_test002.jasper

 

 

 

4、Java报表生成

 

1) 引用JasperReports Library

 

在Java Project中引入Jasper相关的jar包。(当然也需要DB 驱动的jar)

以下提供JasperReports 6.2.1版本的maven配置



       net.sf.jasperreports
       jasperreports
       6.2.1
    
 
    
       org.codehaus.groovy
       groovy-all
       2.4.7
    


 

Oracle驱动的Maven配置




       com.oracle
       ojdbc6
       12.1.0.2
    




 

2) 使用JasperReports Library导出文件




public class JasperReportsDemo001 {
 
    public static void main(String[] args)throws Exception {
      
       //加载DB驱动,并获得DB连接
       Class.forName("oracle.jdbc.driver.OracleDriver");
       String url = "jdbc:oracle:thin:@192.168.100.26:1521:LSSRTEST";
        String user = "cam";
        String password = "myPassword";
       Connection conn = DriverManager.getConnection(url, user, password);
      
       //设定报表所需要的外部参数内容
    Map rptParameters = new HashMap();
       rptParameters.put("myParam", "hello world");
      
       //传入报表源文件绝对路径,外部参数对象,DB连接,得到JasperPring对象
       JasperPrint jasperPrint = JasperFillManager.fillReport("D:/temp/jasper_test/report_test001.jasper", rptParameters, conn);
      
       //导出PDF文件
       JasperExportManager.exportReportToPdfFile(jasperPrint, "D:/temp/jasper_test/test.pdf");
      
       //导入HTML文件
       JasperExportManager.exportReportToHtmlFile(jasperPrint, "D:/temp/jasper_test/test.html");
      
       //执行结束
       System.out.println("Export success!!");
    }
}


你可能感兴趣的:(jasperreport,jasper,ireport,Java)