最近在想《JasperReport那些事兒》系列的寫作方向的問題,是要先寫Jasper的原理和基礎(chǔ)方面,還是寫怎么制作報表實例。如果你想我寫一些你感興趣的部分,可以在文章后面加評論告訴我。這周先寫一篇制作報表實例的文章吧。
最近在blogjava看到一篇總結(jié)報表圖例的文章
http://m.tkk7.com/report9d/archive/2009/03/04/257848.html。總結(jié)的相當(dāng)不錯,如果你不知道什么是標簽式報表,可以看看。
1.先上效果圖
2.數(shù)據(jù)源還是沿用NameList XML數(shù)據(jù)源,關(guān)于怎么配置數(shù)據(jù)源可以看
這里。
<?xml version="1.0" encoding="utf-8" ?>
<NameList>
<Person>
<Name>強尼</Name>
<Gender>男</Gender>
<Age>56</Age>
</Person>
<Person>
<Name>阿美</Name>
<Gender>女</Gender>
<Age>23</Age>
</Person>
<Person>
<Name>李麗</Name>
<Gender>女</Gender>
<Age>58</Age>
</Person>
<Person>
<Name>杰森</Name>
<Gender>男</Gender>
<Age>32</Age>
</Person>
<Person>
<Name>劉三</Name>
<Gender>男</Gender>
<Age>21</Age>
</Person>
</NameList>
3.制作報表的思路
在制作標簽報表的時候,我們先來理清一下思路。可以發(fā)現(xiàn),其實標簽式報表的每個小標簽內(nèi)的內(nèi)容類型都是一樣的,這樣可以認為報表是由多個標簽組成的。這樣就可以分離出主體報表和子報表的概念,這與Jasperreport里的subreport(子報表)概念是一樣的。這樣就可以大概抽象出一個標簽式報表的模型了,在主體報表上使用兩個subreport元素指向同一個標簽報表。
那為什么要使用兩個subreport元素?我們先來看我們期待輸出的標簽?zāi)P偷捻樞颉?br />
但是在Jasperreport里,報表的渲染是從上到下的。所以我們期待的順序是先渲染1號標簽,然后渲染2號標簽,這是從左到右的渲染,在Jasperreport里面是做不到的。但是我們可以采用同時渲染1號和2號標簽,這就需要兩個subreport元素。
4.具體步驟(關(guān)于子報表的制作,可以參考我的第一篇文章)
a)建立一個主模板,加入兩個subreport。
b)建立一個子模板(標簽?zāi)0澹?/span>

c)配置subreport的XPATH。
左邊的subreport的Datasource配置

右邊的subreport的Datasource配置

報表模板下載:http://m.tkk7.com/Files/heis/%E5%9B%9B-%E5%88%B6%E4%BD%9C%E6%A0%87%E7%AD%BE%E5%BC%8F%E6%8A%A5%E8%A1%A8/Chapter4.zip
程序員的一生其實可短暫了,這電腦一開一關(guān),一天過去了,嚎;電腦一開不關(guān),那就成服務(wù)器了,嚎……