`
longgangbai
  • 浏览: 7309135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
               JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。
具体的是讲解参考:
百度百科:

1. alterdesign

该例子演示了报表编译后,在报表展现的时候如何动态的控制其中的元素
比如让某一个矩形变色或其他

2. antcompile
 
演示如何让 ant 来编译
3. chart
 
演示了如何在报表中添加图像,JasperReport是用Scriptlet的方式
往报表中添加图像,而Scriptlet是调用也是开源的jfreechart的Api来
生成图形,去jfreechart看一下,该工具能的图形生成能力也很强
4. datasource
 
演示了如何在报表中使用各种数据源,能够使用beanarray
beancollection,也可以用自定义的数据源,只要继承了JRDataSource的
两个接口,这个能给用户提供非常大的灵活性,报表的数据不用局限于一
条Sql语句,也可以使用存储过程,对生成报表中的数据也可以排序,二
次检索,等等
5. fonts
 
各种字体的演示
6. horizontal
 
演示了水平分栏的报表,演示报表中分了三栏,其中还用到了
textFieldExpression,就像if语句的效果来选择输出的内容
7. hyperlink
 
演示了各种样式的链接
8. images 

演示了如何在报表中加入图像以及图像的显示方式
9. jasper
 
演示了分组分栏的报表,演示中用了2次group
10. jcharts 

演示了调用另一个开源的API jcharts来往报表中加入分析图形,原理同
上chart,如果jfreechart都还不能满足你分析图形的要求,那到jcharts
里找找看吧,说不定有
11. landscape
 
演示横向的报表
12. nopagebreak
 
演示比如在IE中不分页的方式打印出报表的内容,通过这个演示也可以
了解报表输出如何配置参数
13. noreport 

演示了如何直接通过java程序生成JasperPrint对象来输出
14. noxmldesign 

演示了如何直接通过java程序生成JasperDesign对象来动态的生成报
表,根据这个例子,用户可以作出自定义选列的报表,当然比较麻烦,
而且肯定自己要补充他的API库
(JasperReport真是强大啊,呵呵) 
15. pdfencrypt
 
演示了pdf的输出方式,可以给pdf文件加密码,其实就是pdf输出方式的
参数配置,具体有那些参数可配置,去看看API吧
16. printservice

演示了如何直接打印报表
17. query 

演示了如何让查询的sql动态起来,比如你可以通过一个Jsp页面传
报表的sql的where条件,order条件,甚至整个sql语句
18. rotation 

演示了文字纵向显示的报表
19. scriptlet
 
演示了如何继承JRDefaultScriptlet,并加入自己的处理语句,这个功能
可是很强大的哦,看看这些接口
beforeReportInit() afterReportInit() beforePageInit()
afterPageInit() beforeColumnInit() afterColumnInit() 
beforeGroupInit(String groupName)
afterGroupInit(String groupName) 
看看这些名字就知道你能完成那些功能,比如显示一列数据后,马上跟
上该列数据的分析图形,当然你也可以加上自己的方法并在报表中调用
20. shapes 

演示了JasperReport中自带的图形,及能配置的参数
当然你也能继承或者覆写JasperReport中的Api生成你要的图形,
21. stretch 

演示了如何处理报表中数据拉伸以及带来周围的线及框的拉伸,
你能了解到虽然黑框式表格不是JasperReport中缺省的展现方式,
但在JasperReport中不难实现
22. subreport 

演示了子报表,还告诉你一个报表中可以有n个子报表,子报表中还可以
嵌套子报表
23. tableofcontents 

演示了如何生成一个有目录的,复杂的报表
24. unicode 

演示了各种 字符编码
25. webapp 

演示了如何把报表放到一个JavaWeb项目中,可以用Jsp Servlet
applet,笔者做了一个有参数页面,可以选择html pdf applet
 

项目中学到的一些jasperReport的东东,先说点基础的概念吧!
        从http://jasperforge.org/这个网址就可以得到ireport+jasperReport,注意下载iReport和jasperReport的版本必须一致。我们所说的报表指的是JasperReport,iReport只是jasperReport的一个可视化的开发工具,JasperReport通过读取xml文件生成报表,分为三个部分:
编写xml文件也就是jrxml文件,读取并编译jrxml--->jasper文件,填充报表。
而iReport只是帮我们完成了一个可视化的编写jrxml文件,之后在我后面的文章中还会看到直接使用jasperReport的JasperDesign设计器也可以构造出一个没有jrxml文件的复杂报表。当然iReport这个工具还给我们提供了不少优秀的功能,编译、预览、复杂报表的设计。
基本设置
        打开iReport的“Options” -“ 选项“--"General",默认的中文好像并不是我们想象的那样好看,建议使用english。
"Compiler"标签的Default Compilation Directory 设置一个你自己的路径,也可以不设置,这个主要是存放编译好的jasper文件的路径的,笔者不太喜欢文件的乱存放。
"External Programs" 选择使用什么样的程序浏览报表,默认是使用iReport自身的JRViewer Previwer预览的,我们可以指定自己的pdf,html等其它的预览工具。
数据源设置
        将数据库使用的jdbc驱动包复制到iReport安装路径的lib文件夹下,新建一个connections/DataSource



JaspreReport支持很多中数据源之后在详细介绍每一种数据源的使用

PDF报表的中文处理
jasperreport支持中文依赖iText.jar
报表设计时将字体设计为:

        网上找一些这方面的资料很容易就可以利用报表向导做一个简单的报表,
http://www.blogjava.net/fastunit/archive/2008/01/16/175687.html这位哥们写的就很不错,截图都有了
http://jasperreports.sourceforge.net/api/index.html这是jasperReport的api地址,大家可以利用它的源码自己生成api

 

 

JasperReport有三个域用来存放、展示数据,Parameter、Field、Variables,这次说说这三个吧!

Report Parameters

JasperReport 报表的参数是最为一个object类型的参数传递的,通常我们在jrxml文件中会这样定义

<parameter name="ReportTitle" class="java.lang.String"/>

顾名思义,参数是用来传递给报表的,通常我们会动态的传递一个参数给报表作为报表的标题,传递给自报表一个参数用来作为自报表查询的条件等等。
jasperReport内置了几个有用的参数:REPORT_SCRIPTLET引用外部的scriptlet,REPORT_LOCALE引用国际化preperty文件使用的,REPORT_CONNECTION传递报表JDBC连接参数使用的等等。

public Map getMap() {

        Map map 
= new HashMap();
        map.put(
"reportTitle""laoshulin");
        
return map;
    }

程序运行的时候就会动态的赋值给ReportTitle这个参数
下面这个是报表运行时需要的connection参数,是动态传递给子报表的

<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>

我们在程序运行的时候的时候可以把一个打开的连接传给REPORT_CONNECTION参数,

parameters.put("REPORT_CONNECTION", getConnection());


Report Field

field是用来展现数据的域,也是最常用的一个,采用JDBC时iReport可以在我们写入SQL时自动检测到所有的field,有时我们需要自己手动建立一些field,这个字段没有什么好说的,我们可以在iReport设置它的各种属性。以后碰到的时候在说。

Report Variables

提起Variables不能不提expression,report expression是jasperReport一个非常实用的组件,它可以用来执行各种计算,修饰各个字段的数据。如:

<textFieldExpression>
    $F{FirstName} + " " + $F{LastName}
</textFieldExpression>

<textFieldExpression>
    "Max Order ID is : " + $P{MaxOrderID}
</textFieldExpression>


        报表变量是建立在表达式上的一个特殊的用来简化报表设计,一个变量可以执行内置类型的计算以及相应表达式,如:总数,总和、平均数、最低值、最高值、差额等等。

<variable name="QuantitySum" 
        class
="java.lang.Double" calculation="Sum">
    
<variableExpression>$F{Quantity}</variableExpression>
</variable>

JasperReport内置了一些变量   

PAGE_NUMBER 页数
COLUMN_NUMBER 列数
REPORT_COUNT 报表总数
PAGE_COUNT  当前页数
COLUMN_COUNT 列总数

值得一提的是JasperReport还有一个比较强大的功能就是parameter/field/variables都支持html语言

设置Markup为HTML时就可以在Text Field Expression 中写入html标记了

"<font color='blue' size='5'>"+$P{reportTitle}+"</font>"

当报表预览的时候就可以直接看到html的效果了

分享到:
评论

相关推荐

    JasperReport + IReport 开发文档

    3. **JasperReport初级教程(2_0_3)图文详解_绝对原创 - 川江号子_cn - CSDN博客.mht**:针对JasperReport的基础教程,结合实例进行讲解。 4. **JasperReport初级教程(2_0_3)调用Java代码_图文详解_绝对原创 - 川江...

    基于jasperreport的java报表组件

    6. **实例讲解** 一个简单的使用流程包括:(1) 创建iReport模板;(2) 编写Java代码,连接数据源,获取数据;(3) 使用JasperFillManager填充报表;(4) 选择导出格式,如JasperExportManager.exportReportToPdfStream...

    export_jasperReport.zip

    jasperReport作为一个强大的开源报表引擎,广泛应用于Java环境中,提供了丰富的功能,使得创建、设计和展示报表变得简单易行。 jasperReport的核心功能在于其模板驱动的报告生成机制。通过使用JRXML文件作为设计...

    ireport+jasperReport+Swing总结.doc

    - **用途**:ireport 是一个用于设计报表的图形用户界面工具,它允许用户通过简单的拖拽操作来构建复杂的报表布局。 - **版本**:本文档基于 ireport 4.1.3 版本进行讲解。 - **下载地址**:...

    Java报表数据可视化视频讲解

    视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 1、课程简介 报表[forms for reporting to the higher organizations],就是向上级报告情况的表格。简单的说:报表就是用表格、图表等格式来动态...

    Ireport教程(共三个)

    【描述】中的知识点主要涵盖了三部分:《ireport-cn-使用手册》、《iReport简单教程》以及《jasperreport+ireport开发java报表入门级教程》。这三份资源是学习和掌握Ireport及JasperReport进行Java报表开发的重要...

    Struts2AndJasperReport.rar

    本教程将详细讲解如何结合Struts2与JasperReport来创建高效、动态的报表系统。 Struts2是Apache软件基金会下的一个Web应用框架,它提供了强大的控制层结构,使得开发者可以更轻松地构建可维护的、易于测试的Java ...

    ireport资料

    2. **JasperReport中使用多个数据源的方法.doc** - 这篇文档可能讲解了如何在JasperReport中连接和操作多个数据源,这对于复杂报表的创建非常关键。 3. **ireport图文教程.doc** - 另一本iReport教程,通过图文并茂...

    iReport_doc

    它详细讲解了iReport的基本操作,如安装、界面介绍、数据源的设置、字段的添加、样式和表达式的应用等。此外,还可能涉及到了如何使用报表元素(如表格、图表、文本框等)以及如何进行报表布局和分组。 "jaspersoft...

    iReport-JasperReports报表开发指南+操作手册

    8. **实战案例**:提供实际的报表设计示例,帮助读者掌握从简单报表到复杂交互式报表的制作技巧。 9. **书签功能**:书中可能包含书签功能,方便读者快速定位到特定章节或内容,提高学习效率。 通过学习这份手册,...

    JAVA操作XML文件

    - `dom4j-1.6.1.jar`是一个流行的Java库,提供了一种简单的方式来处理DOM模型,包括读取、创建和更新XML文件。 2. **SAX解析器**: - SAX(Simple API for XML)是一种基于事件驱动的解析方式,它不将整个XML文档...

    iReport-5.6.0 报表制作软件

    本篇文章将详细讲解iReport 5.6.0的安装与配置过程,以及如何利用其进行报表制作。 一、iReport 5.6.0的安装 1. 下载安装包:首先,你需要从官方网站或者第三方可靠的下载源获取iReport 5.6.0的安装包。文件名为...

    jasper-studio 使用手册

    在创建简单报表的过程中,手册首先指导用户如何创建新的报表,并逐步介绍了如何添加和删除报表元素。例如,添加字段到报告中,删除字段,以及添加其他元素如图形和文本元素。在报告创建完成后,用户可以预览报告,...

Global site tag (gtag.js) - Google Analytics