這一系列的文章大概這樣安排:前面兩篇先對
iReport和JasperReport進行簡單的介紹,目的是把值得注意的地方提一下,免得后來者少走彎路。后面的幾個文章將詳細介紹一個使用Struts+Hibernate+Spring+iReport+JasperReport+Oracle聯合報表(兩個父子表聯合)的設計過程,以及交叉表的設計過程。
下面先是iReport的簡單介紹,希望很多地方能通過一兩句話就減少你大半天的摸索。
第一節.準備工作
首先要做的事情,是到官方網站http://ireport.sourceforge.net下載最新版本的iReport,目前我用的是iReport-1.3.1-windows-installer.exe,好象現在已經出了1.3.2。下載后和普通的軟件一樣點下一步安裝,這些就不用多說了。
安裝完畢后第一次打開時可能菜單會出些亂碼,在Options->選項->general->語言,選擇最上面的中文(中國),如果還不行的話就重啟一下iReport一般都沒問題了。
第二節.創建報表
可以通過文件->報表精靈按照提示一步步來新建一個報表,速度相當快,但那樣能選擇的樣式比較少,而且往往不能符合我們的需求,到時候改起來也很痛苦。所以我主要介紹的是從零開始自己來設計的過程。
首先開啟新檔,填上報表名稱、選好尺寸,如果要橫向報表的話在“定位”那里選擇“Landscape”。如果怕出現中文亂碼問題,在i18n->XML編碼,填上GB2312。其它的根據需要改改,然后OK。
新建的空白報表分為八個部分,具體每個部分的作用我就不多說了,網上的文章大把,找來看看,大概了解一下就可以。
第三節.連接數據源
以Oracle數據庫為例。(因為在iReport里不管用什么作為連接,如jdbc,JavaBeans還是Hibernate等,生成的報表文件都是一樣的,應用到項目中只要字段名對上號,用什么方法填充都可以。所以為了簡單起見,建議這里用jdbc就行。筆者開始時為了Spring Loading Hibernate Connection作為連接花費了不少時間才成功,白費勁)
1. 添加Classpath。在Options->Classpath,,然后Add JAR,把ojdbc14.jar添加進來。
2. 連接/資料來源。在Data->連接/資料來源,然后new。隨便填上Name,在Type of Connection選擇DataBase JDBC connection,其它的填寫如圖3.1所示。記得有空把Sava Password的勾給打上。最后點擊Test出現成功提示就可以Save了。
(圖3.1)
3. 設定動態連接。在Data->設定動態連接,選擇剛才填寫的Name,點OK即可。
4. 報表查詢。在Data->報表查詢,填上查詢的SQL語句,如圖3.2,下面能出現字段名和字段類型就沒問題。
(圖3.2)
第四節.設計報表
1. 畫線。如果需要畫線,就選中該字段,右擊->屬性->Border,建議每個字段的左邊和下邊畫上線,最后一字段就左邊、下邊和右邊都畫上線,這樣就不會看上去兩根線重復。
2. 自動變量。如果需要增加一個自動增加的序號,可在預覽->報表變量,隨便起個名字,變量類型選擇java.lang.Integer,Caculation type選擇Count,Reset type選擇Report,其余的默認,完了以后把該變量拖拉到你喜歡的位置設計下就OK了。(如圖4.1)
(圖4.1)
3. 自動換行。如果不處理一下,有些字段的內容太長了就會顯示不全。選中該字段,右擊->屬性,在Text Field把Stretch with overflow勾上。同時把該行所有的字段選上,右擊->屬性,在Common的Stretch Type選擇Relative to tallest object。(如圖4.2)
(圖4.2)
4. 待補充。
還有很多細節,其實多用用就會熟悉了。
第五節.預覽
點擊建立,選擇JRViewer預覽,然后使用動態連接執行報表就可以了。