??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日产一区,日本一区二区三区视频视频,青青草一区二区http://www.aygfsteel.com/rickhunter/category/7163.html关于JAVA的点Ҏ?/description>zh-cnTue, 27 Feb 2007 20:23:39 GMTTue, 27 Feb 2007 20:23:39 GMT60[转脓]JasperReport 学习之\http://www.aygfsteel.com/rickhunter/articles/28863.html千山鸟飞l?/dc:creator>千山鸟飞l?/author>Sat, 21 Jan 2006 03:22:00 GMThttp://www.aygfsteel.com/rickhunter/articles/28863.htmlhttp://www.aygfsteel.com/rickhunter/comments/28863.htmlhttp://www.aygfsteel.com/rickhunter/articles/28863.html#Feedback0http://www.aygfsteel.com/rickhunter/comments/commentRss/28863.htmlhttp://www.aygfsteel.com/rickhunter/services/trackbacks/28863.html最q工作中用到报表Q而我在学习JasperReport的过E中遇到了很多问题(主要是国内的资料太少了)Q网上很找得到Q在此我把我找到的一些资料和大家׃nQ希望能对大家有所帮助?
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
输出方式的报表,有兴的 我可以在后面放上代码



]]>
[转脓]Jasperreport 报表开发入门指?/title><link>http://www.aygfsteel.com/rickhunter/articles/28862.html</link><dc:creator>千山鸟飞l?/dc:creator><author>千山鸟飞l?/author><pubDate>Sat, 21 Jan 2006 03:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/rickhunter/articles/28862.html</guid><wfw:comment>http://www.aygfsteel.com/rickhunter/comments/28862.html</wfw:comment><comments>http://www.aygfsteel.com/rickhunter/articles/28862.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rickhunter/comments/commentRss/28862.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rickhunter/services/trackbacks/28862.html</trackback:ping><description><![CDATA[<h4>概述</h4>    Jasperreport?a href="http:///" target="_blank" class="l2">http://www.sourceforge.net</a>上一个优U的开源的报表工具Q其强大的功能及免费的特性得Cq大的认可和赞誉Q现在的最新版本是Jasperreport0.6.1。下载地址?br><a >https://sourceforge.net/projects/jasperreports/</a>?br>    iReport是jasperreport的一个IDE的开发工P使Jasperreport变得更易用,其最新版本是iReport0.4.0支持到Jasperreport0.6.1Q和Jasperreport一样也在不断的更新中。下载地址?a >https://sourceforge.net/projects/ireport/</a>?br>    关于利用q两个工具开发Web报表Q这里已l有几䆾很好的材料:<br>    JasperReport与iReport的配|与使用.pdfQ该文档可用于一开始入门熟悉这两个工具Q?br>    TheJasperReportsUltimateGuide.1.0.pdf Q这个本是一份收费的文档Q讲qCJasperreport生成的原理方面的知识Q如果你打算能熟l的使用Jasperreportq个报表工具Q需要好好看q䆾英文资料的)<br>    <a href="http:///" target="_blank" class="l2">http://www.javaresearch.org/forum/thread.jsp?column=316&thread=14374</a><br>Q这是我在论坛上写的一个另一入门指南)---Q{贴者:无法打开此连接)<br><br><h4>W一ơ运?/h4>    W一ơL比较痛苦Q用这个报表工具也是,下面是我ȝ出的一些运行中比较Ҏ出现的问题?br>我的ȝ是徏立在使用iReport0.4.0 Q?nbsp;Jasperreport0.6.1Q。至于这两者的l合Q我用到现在q是觉得比较的。从souceforge 上下载iReport-0.4.0.zip 解压后,要注意一点,把你的JDK的tools.jar拷到你解压后的iReport的lib目录下,做中? 的pdf报表q需要把iTextAsian.jar拷到lib下,如果你用的是Oracle的数据库Q那么你q需要把class12.jar也就? Oracle的Jdbc包拷到lib下,其他数据库也一栗?br>好了准备工作做好了,q行iReport.bat。如果比较看到UI界面Q说?br>iReport成功q行了?br> <br>    如果dos界面一闪而过Q说明没有成功。按以下步骤可解册问题Q?br>    定pȝ安装有JDKQ而且pȝ环境讄Qpath里有JDK的bin目录Qƈ有java_home参数Q以下是我的几个参数的配|情况可供参考:<br>1  java_home   D:\JBuilder9\jdk1.4<br>2  path        D:\JBuilder9\jdk1.4\bin;D:\Install\ant161\bin<br>3  classpath    D:\iReport042\fonts;E:\Project\EssV6\webapps\WEB-INF\classes<br>4  ant_home   D:\Install\ant161<br>Q关于上面参数设|的说明Q?br>    iReport0.4.0要求JDK1.4以上版本Q所以要注意Oracle9装好会自动把java环境设ؓOracle自带的JDK1.3.1Q会D无法q行iReport?br>    ant_home 及path中ant的设|是Z可以用ant来学习Jasperreport的例子,q些例子在Jasperreport解压后的demo\ samples目录下,比如在Dos环境下进入demo\samples\jasper目录下,输入命oant view 可以看到该CZ报表?br>    classpath 中D:\iReport042\fonts;的设|是保iReport里字体设|的时候能选择一些外部字体,比如要让PDF昄黑体Q那么把 windows下的simhei.ttf拷到D:\iReport042\fonts下,在iReport中如下设|?pdffontname为外部字 体、truetypefont 为simhei.ttf?nbsp;~码为unicode with horizontal writingQ这样就能用黑体了<br>    E:\Project\EssV6\webapps\WEB-INF\classesQclasspath里的q是讄Q是让报表里一些数据要l过Ҏ处理Q可以用工程里的函数?br><br>    q些讄完成后,到dos环境下的iReport目录下,q行iReport.batQdos环境下的好处是如果iReportq行p|可以看到p|原因Q然后针Ҏ的解决。iReport可以q行后就是一个摸索用,慢慢了解熟悉的过E了Q直C能做出像L一些报表。这个过E可以参考上面提到的<br><a href="http:///" target="_blank" class="l2">http://www.javaresearch.org/forum/thread.jsp?column=316&thread=14374</a><br><br><h4>常见问题的解?/h4><br>    具体做报表的时候会到许多问题Q关键的是我们需要分析出错提C,Ҏ扑ֈ解决办法Q比如你把报表放C的工E下Q比如运行结果提C? java.io.FileNotFoundExceptionQ那么你需要确定你的报表编译后的文件在相应的目录;又比如提C? NoClassDefFoundErrorQ那你就要看看是哪个包没有放C的工E下?br>    需要非常强调的是:好好看Jasperreport自带的例子,看懂那些例子Q至模仿一下,p做出你想要的报表了?br><br><h4>我的报表Faq</h4>    1.java.io.FileNotFoundException<br>    Jasperreport自带的webapp的例子中Q用于定?jasper报表模板文g的方法是Q?br>      File reportFile = new File(application.getRealPath("/reports/WebappReport.jasper"));<br>    q个时候,如果你的web服务器是tomcatQwabapp中的文g放在root目录?br>    那么q个报表的实际位|是QD:\Tomcat41\webapps\ROOT\reports\WebappReport.jasper<br>    然而当你用子报表Ӟ情况有所不同Q首先在子报表中没有 application q个对象<br>    所以你不能使用 new File(application.getRealPath("/reports/WebappReport.jasper"))的方法来定位子报表?br>    jasperreport支持三种方式定位文gQ具体参?nbsp;JasperreportUtimateGuide.pdf<br>    q里说一下,如果你是用String的类型来兌子报表,q且String的值是 subreport.jasper<br>    那么Jasperreport会到 D:\Tomcat41\webapps\ROOT\WEB-INF\classes目录下查找是否有subreport.jasperq个文g<br>    知道q点p采取各种办法? <br><br><img src ="http://www.aygfsteel.com/rickhunter/aggbug/28862.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rickhunter/" target="_blank">千山鸟飞l?/a> 2006-01-21 11:14 <a href="http://www.aygfsteel.com/rickhunter/articles/28862.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">׸</a>| <a href="http://" target="_blank">׳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ǭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">괨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">ͭɽ</a>| <a href="http://" target="_blank">̶</a>| <a href="http://" target="_blank">ǰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͷ</a>| <a href="http://" target="_blank">Ӣɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>