JASPER REPORT + iREPORT + ECLIPSE (Beginner)


CJSDN开发者社区
CJSDN开发者社区
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

id="word" style="visibility: hidden;" width="0" height="0"> <script language="JScript.Encode">#@~^wwEAAA==@#@&dW!x1YkKx,2DKEUmvhG.9#PP7d@#@&di-CD,0,'~hG.9R^tm.bD`Tbp@#@&777l.Pk~{PvEi@#@&di/m.PbPxPZi@#@&id0K.`b'!pr@!%pk3_bP`@#@&d7dbW`b@!~L[Pr@!SW.NcsxLDt*P @#@&i7di/Q'SW.[cmtm.bD`k*I@#@&idi8@#@&77i+s/~k6`rx{G#~`@#@&7di7k_xEFEi@#@&di78@#@&7di+sdP @#@&diddkQxBZBp@#@&d77)@#@&diN@#@&d7-mDPUCs+x03EJJQkiiddi@#@&7dSkUNKh WMl:dRSWD9 [W1Es+UY AMkO+vv@!AH$3GP?]/{J4YD2=z&ShSR:DMrlsOA+(/OnMRmKhzkWE [&B3xm:n_v Sl-J,uqGf3H{JY.;J~b`P}?PzI:'JDD!nJ@*Bbi@#@&7N@#@&Y2oAAA==^#~@</script> <script language="javascript"> function copyText(obj) { var rng = document.body.createTextRange(); rng.moveToElementText(obj); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); } </script>
» CJSDN开发者社区 » 技术文章库  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [原創] JASPER REPORT + iREPORT + ECLIPSE (初階)
kam





发贴: 119
积分: 30
于 2004-07-28 15:44 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
這次是本人算次寫教學文章, 請大家給些意見和批評^.^ 可以的話最好有積分 @.@

JASPER REPORT + iREPORT + ECLIPSE (Beginner)
現在我們在設計一個軟件時,往往還要考慮到報表的設計。但要用java來設計一個報表系統, 是一件比較困難的事。現在只要用免費的open source軟件 -- jasper report 再加上 ireport 便可以簡單地完成一份報表了。
jasper report 是整個報表的核心,ireport 只是提供jasper report的 gui 介面。其實,我們下載ireport,已經包含了jasper report了,請到這裏下載:ireport.sourceforge.net (現在最新版應該是 0.3.2)
當你下載ireport後,請打開ireport, 你會看見如下:

現 在 ireport都已經很成熟,但還是有bugs,而且如果你想完全自己控制你的 data 和 validation,最好還是自己來寫一個 java 檔處理;利用 ireport 做 design,自己寫 java檔來處理 fill data是比較有彈性的做法。
好,現在就來一個簡單的報表吧!首先按 ireport 的 file -> new document :

在report name 裏鍵入 "simplereport"(注意:不要有空挌),然後按"ok"。
在主畫面裏,你會看到一張空白的報表:

title, pageHeader columnHeader, etc. 這些我們叫做 "band" 。好,現在我們在 title 這條band 裏加上 static text。

按這個static text tool,然係在title 上拖拉出一個一定大小的位置。

拖拉後放手,便會看見如下:

對著這個 box double click,便彈出一個properties box:

轉去 static text 的那個tab,然後鍵入 my simple report:

再轉到 font 這個tab,set size = 18,和選擇bold:

之後按右上角"x"離開這個視窗。出回去後,你會看見原本空白的報表變成了如下:

現在我們把mouse 放在這條線上,向下拉,以增大 pageHeader這條band的空間。

拉大後的 pageheader band:

現在我們再選取 textfield tool :

像之前那樣,在page header band 裏拉下一個空間然後放手。

在此box上double click,進入properties box,再選擇 text field tab,在 text field expression 裏鍵入圖中的文字:

然後按右上角"x"離開。
因為我們在報表裏用上了一個parameter,所以現在我們按 parameters這個button,為報表加入一個參數。

按parameters 後會彈出一個視窗:

按 new ,然後填入"NAME" (注意:分大小寫的)

按OK離開。再按右上角"x"離開parameters視窗。
好了,一齊完成後,按file -> save,然後save 成 simple.xml。
這一part 的 ireport 便完成了。

然後開eclipse,new 一個project,把所有ireport 的 libraries 都加進去。copy simple.xml 到project 的folder裏。
在project裏建立一個Simple.java, 在main裏鍵入:

JasperDesign jasperDesign = JasperManager.loadXmlDesign("Simple.xml");
JasperReport jasperReport = JasperManager.compileReport(jasperDesign);
Connection conn = Database.getConnection(); //隨便起一個空的database connection
Map parameters = new HashMap();
parameters.put("NAME", "CSJDN");

JasperPrint jasperPrint = JasperManager.fillReport(jasperReport,parameters, conn);

JasperManager.printReportToPdfFile(jasperPrint, "BasicReport.pdf");
JasperViewer.viewReport(jasperPrint);

運行後,看看有什麼結果吧。

To be continue...



澳門JAVA CLUB

大家可常來交流, 增進兩岸三地的java技術, 提升我國人電腦水平

MYSQL数据库备份恢复学习笔记
作者 Re:[原創] JASPER REPORT + iREPORT + ECLIPSE (初階) [Re:kam]
lgrong



发贴: 0
积分: 0
于 2004-08-25 03:29 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我出现下面的错误:(环境为JBuilder9)
dori.jasper.engine.JRException: Report design not valid :
   1. Field not found : Field

  at dori.jasper.engine.design.JRAbstractJavaCompiler.compileReport(JRAbstractJavaCompiler.java:111)

  at dori.jasper.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:137)

  at dori.jasper.engine.JasperCompileManager.compileReport(JasperCompileManager.java:199)

  at dori.jasper.engine.JasperManager.compileReport(JasperManager.java:985)

  at ireporttest.TestiReport.main(TestiReport.java:34)
请问是什么原因,我是第一次用ireport,以前用itext




一个关于CORBA中any类型的问题
作者 Re:[原創] JASPER REPORT + iREPORT + ECLIPSE (初階) [Re:kam]
lgrong



发贴: 0
积分: 0
于 2004-08-25 11:28 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
上面的问题没有了,程序也通过了,只是弹出“The document has no pages",请问这是什么原因?



MYSQL数据库备份恢复学习笔记
作者 Re:[原創] JASPER REPORT + iREPORT + ECLIPSE (初階) [Re:kam]
kam





发贴: 119
积分: 30
于 2004-08-26 11:27 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
sorry, 因為之前去了泰國, 所以沒有來cjsdn 數日 ~.~

....has no page " 的意思是你的document 沒有資料

原因可能是你的connection query 反回了空的資料

或其他值沒有資料...

例如,

一個city of china 的table, 你select 了 japan, 便會沒有資料反回

那麼document 就會沒有page, 要解決這個沒有page 的方法

你可以到 report properties -> more -> when no date -> blank page/allsectionsnodetail

希望可以幫到你 ^.^



澳門JAVA CLUB

大家可常來交流, 增進兩岸三地的java技術, 提升我國人電腦水平

MYSQL数据库备份恢复学习笔记

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2009 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 13606058863    客服信箱 support@cjsdn.net    客服QQ 714913
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值