原文:http://quicker.iteye.com/blog/801655
使用Ireport最新的4.0.1版本
1、在Ireport加添加數(shù)據(jù)源:窗口>服務(wù)>數(shù)據(jù)庫(kù)>增加數(shù)據(jù)源
2、在Ireport4.0.1下實(shí)現(xiàn)PDF中文報(bào)表,解決中文字體問(wèn)題:
下載安裝根目錄如D:\Program Files\iReport-4.0.1,在其下目錄D:\Program Files\iReport-4.0.1\ireport\modules\ext中包括了許多應(yīng)用所需要的jar文件。打開(kāi)ireport,工具>選項(xiàng)>iReport>Classpath>在里面添加jar:添加ext目錄下的iText-2.1.7.jar和iTextAsian.jar兩個(gè)jar;
如圖:
在工具>選項(xiàng)>iReport>fonts下面全選
如圖
新建一個(gè)報(bào)表,添加靜態(tài)文本,輸入中文并設(shè)置文本的字體、PDF font name選擇STSong-Light,PDF Encoding選擇UniGB-UCS2-H。PDF Embedded選上。
設(shè)置完成后使用pdf preview,因?yàn)槲覀兩厦嫘录恿薺ar包,所以最好先關(guān)了ireport再重啟,之后預(yù)覽就OK了
3、給報(bào)表文本加邊框:右鍵點(diǎn)靜態(tài)文本>Padding and borders>選擇Line width和Line style就可以了
4、ireport參數(shù)傳遞,我們可以將查詢(xún)語(yǔ)句作為參數(shù),通過(guò)程序傳入?yún)?shù)值,也可設(shè)置默認(rèn)值;如我新增Parameter名為SQLSTR,在屬性>Default value Expression輸入“select * from orders”注意兩邊加雙引號(hào)噢。參數(shù)建好了。我們選擇Report Query,我們本來(lái)是在里面輸入查詢(xún)語(yǔ)句的,這里我們使用SQLSTR參數(shù),如下圖:$P!{SQLSTR}記得中間有!號(hào)的。點(diǎn)read Field一樣讀出屬性了。
如下圖
5、我們?cè)谑纠锌吹浇o報(bào)表加注釋的情況如下圖:
剛開(kāi)始找了半天沒(méi)找到這個(gè)組件,雖然沒(méi)多大用,不過(guò)后來(lái)找到了,就是ireport組件面板中的Callout組件了。拖出來(lái)點(diǎn)右鍵>添加pin就有一個(gè)圖釘一樣的東東了。。
6、樣式的使用,我們上面對(duì)文本框尤其是中文要進(jìn)行字體還有pdf fontname,等設(shè)置,那么整個(gè)報(bào)表做下來(lái)如果每個(gè)都要這樣設(shè)置那肯定是個(gè)大麻煩事,所以這里也使用樣式來(lái)定義,可以新增style,并設(shè)定style的相應(yīng)值,那么在其它的文本等需要使用同一設(shè)置的組件上,我們只要在它的屬性里的style中選定剛創(chuàng)建的style就行了。
7、為報(bào)表增加統(tǒng)計(jì)值:一般統(tǒng)計(jì)值放在page footer和summary中。summmary為報(bào)表級(jí)別的統(tǒng)計(jì)。以summary為例:如我們要統(tǒng)計(jì)orders 表中的freight字段的值的總數(shù)。
首先創(chuàng)建一個(gè)變量TOTAL_NUM,配置如下圖:
把該變量拖到Summary Band即可。注意上面配置項(xiàng)的increment type為none,另外Reset Type為Report
如果我們?cè)趐age footer下的統(tǒng)計(jì),這里的reset Type應(yīng)設(shè)為Page