`

[转贴]JasperReport 学习之路

阅读更多
最近工作中用到报表,而我在学习JasperReport的过程中遇到了很多问题(主要是国内的资料太少了),网上很少找得到,在此我就把我找到的一些资料和大家共享,希望能对大家有所帮助。
1、JasperReport和iReport的资源,最新版本可以到下面官方网站得到

iReport官方网站:
http://ireport.sourceforge.net
JasperReport官方网站:
http://jasperreports.sourceforge.net

2、安装
1)、JDK的安装,并配置JAVA_HOME
比如我的JAVA_HOME路径如下:
JAVA_HOME  D:\Program Files\j2sdk1.4.2_03

2)、由于中文的问题,所以还需要下载:itext-1.02b.jar和iTextAsian.jar包
下载地址:http://itext.sourceforge.net/downloads/iTextAsian.jar
并在CLASSPATH中设置
例如我的CLASSPATH如下:
CLASSPATH
E:\Program Files\Apache GroupTomcat4.1\webapps \estreport\WEB-INF\lib\itext-1.02b.jar;E:\Program

Files\Apache GroupTomcat 4.1\webapps\ estreport\WEB-INF\lib\iTextAsian.jar;E:\Program Files\Apache

GroupTomcat 4.1\webapps \estreport\WEB-INF\lib;D: \ools\iReport0.2.3\lib

3)、iReport的安装iReport只要解压就OK,如果没有安装Ant,可以直接在iReport下的noAnt目录下,
运行startup.bat就可以了,这样iReport就可以启动了

4)、JasperReport
Jasperreport不需要任何配置,你只需将下载以后的jar包放到classpath下即可
5)、数据库的JDBC驱动包
加入到CLASSPATH中

3、详细资源
iReport官方提供了一些关于iReport视频,对于初学者很有帮助:
地址:http://ireport.sourceforge.net/docs.html

JasperReport官方提供的使用指南
地址:http://jasperreports.sourceforge.net/tutorial/index.html

JasperReport提供的一些例子:
地址:http://jasperreports.sourceforge.net/samples/index.html

4、常见问题
1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar
2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH
3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码
比如:pdfname、pdfencoding
5、下面是两个调试例子
Servlet:
import javax.servlet.*;
import javax.servlet.http.*;
import dori.jasper.engine.*;
import java.io.*;
import java.util.*;
import java.sql.*;

/**
* @author Administrator
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TestReport extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;

try {

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn =
DriverManager.getConnection(


"jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=sa");

ServletContext servletContext =this.getServletContext();
File reportFile = new File(servletContext.getRealPath("test/iteminfo.jasper"));
Map parameters = new HashMap();
Integer i=new Integer(8);
parameters.put("pjId", i);
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (JRException jre) {
System.out.println("JRException:" + jre.getMessage());
} catch (Exception e) {
System.out.println("Exception:" + e.getMessage());
}

}

public void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);

}

}



1 首先看看

http://plateau.sicool.com/main.html
上的三篇ireport和Jasperreport整合开发报表向导(一)(二)(三)
看完理解并自己运行一下,OK,你入门了


2 去找一份TheJasperReportsUltimateGuide.1.0.pdf

看完之后你就能了解JasperReport生成的基本过程及原理,里面也回答了很多
刚接触这个报表工具会产生的疑问

3 论坛上的经验

Java研究的论坛上有很多关于JasperReport及iReport的经验及问题解答,所以
大家在提问的时候不妨多翻翻论坛上的帖子,很多你要问的问题都能找到答案,
还有很多宝贵的经验
当然说起论坛最正宗还是
https://sourceforge.net/projects/ireport/
https://sourceforge.net/projects/jasperreports/
大家可以到sourceforge.net去看看,论坛上提供搜索,也能翻到很多东西,顺便
练练你的英语

4 学习JasperReport的Samples

解压jasperreports-0.5.0-project.zip 后目录jasperreportsdemosamples
下的例子,看看这些例子是你关于这个报表工具提升能力的最好最快的方式,
我会在下面贴上各个例子的简要说明。
要运行sample下的例子,首先你要安装ant,并设置好环境变量
如ANT_HOME    值为   D:Installant161
然后到dos方式下,到某一个sample的目录,比如到
jasperreportsdemosamplesalterdesign目录下
运行 ant 则会编译报表文件
运行 ant view 则会展现报表

5 比上面更好的资料是什么?

就是JasperReport的源代码,看懂源代码,JasperReport
就是在你脑子里的了,你想干什么都行了,优化代码,覆写,继承他的类,实现个性
化的功能,甚至你可以参考他的思想,升华一下,做一个你自己的报表

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学习之路

    JasperReport学习之路 网上摘录

    JasperReport 学习之路

    ### JasperReport 学习之路 #### 一、简介与背景 JasperReport是一种基于Java的报表生成技术,它被广泛应用于企业级应用中用于生成复杂且格式化良好的PDF文档。对于初学者而言,掌握JasperReport的核心概念和技术...

    jasperReport学习资料

    **JasperReport学习资料概述** JasperReport是一款强大的开源报表工具,主要用来设计和生成静态或动态的报表。它能够支持各种数据源,包括数据库、XML文件、Java对象等,并且能够导出报表为PDF、HTML、Excel等多种...

    jasperReport学习文档资料.rar

    本资料包"jasperReport学习文档资料.rar"是针对JasperReports及其配套设计工具iReport的学习资源集合,对于想要掌握报表开发的IT人员来说极具价值。 首先,iReport是JasperReports的主要设计工具,提供了一个图形化...

    JasperReport 学习必备手册

    JasperReport 学习必备手册

    jasperreport学习 之 javabean封装成list作为数据源.pdf

    总而言之,JasperReport学习之JavaBean封装成List作为数据源的教程,不仅提供了一套完整的实现流程,还强调了在实际开发中实践和应用的重要性。通过本文档的学习,开发者将能够快速掌握如何将复杂的业务数据封装为...

    jasperreport学习资料(附jasperreport API).

    这个压缩包文件包含了jasperreport的学习资料和API文档,是学习和掌握JasperReport的重要资源。 JasperReport的核心概念: 1. 报表模板:报表的布局和样式在设计时就被定义好,存储为`.jrxml`文件。这些模板包含了...

    jasperReport 亚洲语言包

    **jasperReport 亚洲语言包** jasperReport是一款强大的开源报表工具,广泛应用于Java应用程序中,用于设计、创建和展示复杂的数据报告。然而,对于包含亚洲语言(如中文、日文、韩文等)的报告,jasperReport默认...

    Jasperreport+ireport学习笔记3

    标题与描述概述的知识点主要集中在使用JasperReport与iReport工具进行报表设计,特别是如何在报表中集成图表功能。以下是对这一主题的深入探讨: ### JasperReport与iReport简介 JasperReport是一款开源的报表工具...

    JasperReport Server安装手册

    JasperReport Server 安装手册 JasperReport Server 安装手册是一份详细的安装指南,旨在帮助用户正确地安装和配置 JasperReport Server。下面是 JasperReport Server 安装手册的主要知识点: 一、准备材料 ...

    JasperReport报表设计总结

    ### JasperReport报表设计总结 ...通过本文的学习,读者可以更好地理解和掌握如何使用JasperReport进行报表设计与开发。随着对JasperReport的深入了解,开发者可以充分利用其强大的功能来满足各种复杂的报表需求。

    jasperReport测试例子

    这个测试例子是关于如何使用jasperReport进行报表设计和开发的实践代码和学习资源集合。通过这个测试项目,我们可以深入理解jasperReport的工作原理,以及如何在Java应用程序、JSP或Web环境中集成报表功能。 ...

    jasperreport

    同时,可能还包含了示例代码和文档,帮助开发者理解和学习如何使用JasperReport。 总的来说,JasperReport是一个功能强大的报表工具,它提供了丰富的设计元素和灵活的数据处理方式,使得即使复杂的业务报表也能轻松...

    jasperreport for java developer

    在学习JasperReport时,你需要了解以下几个关键知识点: 1. **报表设计基础**:理解报表的基本结构,如字段、表达式、变量、团体和样式。 2. **JRXML文件**:报表的定义存储在JRXML文件中,这是一个XML格式,包含...

    JasperReport实例导入可用

    **JasperReport 实例导入详解** JasperReport 是一个开源的报表工具,它允许开发者创建复杂的报告设计,并在各种应用程序中嵌入...学习和掌握 JasperReport 能极大地提升开发效率,使你在数据分析和展示方面得心应手。

    JasperReport+Servlet Web应用之:打印预览

    **JasperReport与Servlet在Web应用中的打印预览** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序、Web应用甚至独立的Java应用程序中创建复杂的报告。Servlet是Java Web开发中的一个重要组件,...

    使用JasperReport输出image图像

    标题“使用JasperReport输出image图像”涉及到的关键技术点是JasperReport的图像生成和导出功能。在描述中提到的场景是,一个项目需要在文档中添加可识别的元素,比如条形码,然后将包含这些元素的文档作为图像保存...

    ireport+jasperreport API

    1. JasperReport API:学习如何创建和填充jasperReport模板,理解JRDesign对象和JRFillDataset的概念,它们是报表生成的核心。 2. 动态表头:通过使用Group和HeaderFooter元素,可以实现根据数据变化的表头,提供更...

    jasperReport 动态合并单元格示例

    JasperReport是一款强大的Java报表工具,它允许开发者创建复杂、美观的报告,广泛应用于企业级应用的报表生成。在jasperReport中,动态合并单元格是一项重要的功能,它能够根据数据的特性和需求灵活调整表格的布局,...

    iReport与JasperReport简介

    **五、学习资源** 对于初学者,可以从官方文档和社区资源入手。"iReport中文详细教程.pdf"是一个很好的起点,它涵盖了iReport的基础知识和进阶技巧,可以帮助读者快速上手。 总的来说,iReport和JasperReport是Java...

Global site tag (gtag.js) - Google Analytics