??xml version="1.0" encoding="utf-8" standalone="yes"?>
1、JasperReport和iReport的资源,最新版本可以到下面官方|站得到
iReport官方|站Q?
http://ireport.sourceforge.net
JasperReport官方|站Q?
http://jasperreports.sourceforge.net
2、安?
1Q、JDK的安装,q|JAVA_HOME
比如我的JAVA_HOME路径如下Q?
JAVA_HOME D:\Program Files\j2sdk1.4.2_03
2Q、由于中文的问题Q所以还需要下载:itext-1.02b.jar和iTextAsian.jar?
下蝲地址Q?a >http://itext.sourceforge.net/downloads/iTextAsian.jar
q在CLASSPATH中设|?
例如我的CLASSPATH如下Q?
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
3Q、iReport的安装iReport只要解压OKQ如果没有安装AntQ可以直接在iReport下的noAnt目录下,
q行startup.bat可以了Q这样iReport可以启动了
4Q、JasperReport
Jasperreport不需要Q何配|,你只需下载以后的jar包放到classpath下即?
5Q、数据库的JDBC驱动?
加入到CLASSPATH?
3、详l资?
iReport官方提供了一些关于iReport视频Q对于初学者很有帮助:
地址Q?a >http://ireport.sourceforge.net/docs.html
JasperReport官方提供的用指?
地址Q?a >http://jasperreports.sourceforge.net/tutorial/index.html
JasperReport提供的一些例子:
地址Q?a >http://jasperreports.sourceforge.net/samples/index.html
4、常见问?
1Q、iReport中提C框输入中文是不能正常显C,请将iReport下lib中的q个包删除tinylaf.jar
2Q、在iReport中运行报表时如果出现q问题Q请查itext-1.02b.jar和iTextAsian.jarq两个包是否加到CLASSPATH
3Q、在jsp或servlet高度报表时出Cؕ码或不显C,h查你在报表设计过E中所讄的字体及其编?
比如Qpdfname、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整合开发报表向|一Q(二)Q三Q?br />看完理解q自p行一下,OKQ你入门?/p>
2 L一份TheJasperReportsUltimateGuide.1.0.pdf
看完之后你就能了解JasperReport生成的基本过E及原理Q里面也回答了很?br />刚接触这个报表工具会产生的疑?/p>
3 论坛上的l验
Java研究的论坛上有很多关于JasperReport及iReport的经验及问题解答Q所?br />大家在提问的时候不妨多ȝ论坛上的帖子Q很多你要问的问题都能找到答案,
q有很多宝贵的经?br />当然说v论坛最正宗q是
https://sourceforge.net/projects/ireport/
https://sourceforge.net/projects/jasperreports/
大家可以到sourceforge.netȝ看,论坛上提供搜索,也能d很多东西Q顺?br />l练你的p
4 学习JasperReport的Samples
解压jasperreports-0.5.0-project.zip 后目录jasperreportsdemosamples
下的例子Q看看这些例子是你关于这个报表工h升能力的最好最快的方式Q?br />我会在下面脓上各个例子的要说明?br />要运行sample下的例子Q首先你要安装antQƈ讄好环境变?br />如ANT_HOME gؓ D:Installant161
然后到dos方式下,到某一个sample的目录,比如?br />jasperreportsdemosamplesalterdesign目录?br />q行 ant 则会~译报表文g
q行 ant view 则会展现报表
5 比上面更好的资料是什么?
是JasperReport的源代码Q看懂源代码QJasperReport
是在你脑子里的了,你想q什么都行了Q优化代码,覆写Q承他的类Q实C?br />化的功能Q甚至你可以参考他的思想Q升华一下,做一个你自己的报?br />
1. alterdesign
该例子演CZ报表~译后,在报表展现的时候如何动态的控制其中的元?br />比如让某一个矩形变色或其他
2. antcompile
演示如何?ant 来编?/p>
3. chart
演示了如何在报表中添加图像,JasperReport是用Scriptlet的方?br />往报表中添加图像,而Scriptlet是调用也是开源的jfreechart的Api?br />生成囑ŞQ去jfreechart看一下,该工兯的图形生成能力也很强
4. datasource
演示了如何在报表中用各U数据源Q能够用beanarray
beancollectionQ也可以用自定义的数据源Q只要承了JRDataSource?br />两个接口Q这个能l用h供非常大的灵zL,报表的数据不用局限于一
条Sql语句Q也可以使用存储q程Q对生成报表中的数据也可以排序,?br />ơ检索,{等
5. fonts
各种字体的演C?/p>
6. horizontal
演示了水q_栏的报表Q演C报表中分了三栏Q其中还用到?br />textFieldExpressionQ就像if语句的效果来选择输出的内?/p>
7. hyperlink
演示了各U样式的链接
8. images
演示了如何在报表中加入图像以及图像的昄方式
9. jasper
演示了分l分栏的报表Q演CZ用了2ơgroup
10. jcharts
演示了调用另一个开源的API jcharts来往报表中加入分析图形,原理?br />上chartQ如果jfreechart都还不能满你分析图形的要求Q那到jcharts
里找扄吧,说不定有
11. landscape
演示横向的报?/p>
12. nopagebreak
演示比如在IE中不分页的方式打印出报表的内容,通过q个演示也可?br />了解报表输出如何配置参数
13. noreport
演示了如何直接通过javaE序生成JasperPrint对象来输?/p>
14. noxmldesign
演示了如何直接通过javaE序生成JasperDesign对象来动态的生成?br />表,Ҏq个例子Q用户可以作定义选列的报?当然比较ȝQ?br />而且肯定自己要补充他的API?br />QJasperReport真是强大啊,呵呵)
15. pdfencrypt
演示了pdf的输出方式,可以lpdf文g加密码,其实是pdf输出方式?br />参数配置Q具体有那些参数可配|,ȝ看API?/p>
16. printservice
演示了如何直接打印报?/p>
17. query
演示了如何让查询的sql动态v来,比如你可以通过一个Jsp面?br />报表的sql的where条gQorder条gQ甚x个sql语句
18. rotation
演示了文字纵向显C的报表
19. scriptlet
演示了如何承JRDefaultScriptletQƈ加入自己的处理语句,q个功能
可是很强大的哦,看看q些接口
beforeReportInit() afterReportInit() beforePageInit()
afterPageInit() beforeColumnInit() afterColumnInit()
beforeGroupInit(String groupName)
afterGroupInit(String groupName)
看看q些名字q道你能完成那些功能,比如昄一列数据后Q马上跟
上该列数据的分析囑ŞQ当然你也可以加上自qҎq在报表中调?/p>
20. shapes
演示了JasperReport中自带的囑ŞQ及能配|的参数
当然你也能承或者覆写JasperReport中的Api生成你要的图形,
21. stretch
演示了如何处理报表中数据拉以及带来周围的线及框的拉伸,
你能了解到虽焉框式表格不是JasperReport中缺省的展现方式Q?br />但在JasperReport中不隑֮?/p>
22. subreport
演示了子报表Q还告诉你一个报表中可以有n个子报表Q子报表中还可以
嵌套子报?/p>
23. tableofcontents
演示了如何生成一个有目录的,复杂的报?/p>
24. unicode
演示了各U?字符~码
25. webapp
演示了如何把报表攑ֈ一个JavaWeb目中,可以用Jsp Servlet
appletQ笔者做了一个有参数面Q可以选择html pdf applet
输出方式的报表,有兴的 我可以在后面放上代码