Java開源報表JasperReport、iReport4.5.1使用詳解(三)

前幾節講解了iReport的常見的應用,本節講解一個比較實用的功能,實用JavaBean作爲數據源,並結合Struts2來運行。並生成XML、HTML、PDF、XLS文檔。

一、用iReport新建一個報表文件

①  前面的步驟省略,不再重複。跟着嚮導到Query這的時候,選擇NewConnection


②選擇JavaBeans set datasource


③選擇Next,設置一個name 下面的不用管他。

二、設置classpath


添加我們的JavaBean到classpath裏面。

三、設置數據源

①選擇JavaBean Datasource

輸入Class name 然後單擊 Read attributes

②選擇需要的字段,Add selected field 即可。

在上一步中,有可能出現Read attributes,讀取不出來屬性的情況,一般請檢查下面兩點:a).Class 是不是選對了

       b).檢查classpath

③進行報表設計,排列好字段。這步驟,前面的幾節有詳細的介紹。

四、和Struts2 整合

我們的iReport的數據源,這裏取一個List集合,這個List集合,我們從Struts2中獲取。

①導入所需jar包

 前面幾節有介紹,再次不再贅述,需要注意的是,導入Jar包的時候要避免衝突

②配置Struts2配置文件

  1. <packagename="test"namespace="/report"extends="struts-default,jasperreports-default">

  2. <actionname="toHtml"class="totalViewAction"method="listTotalView">

  3. <resultname="success"type="jasper">

  4. <paramname="location">/web/report/groupScore/countView.jasper</param>

  5. <paramname="dataSource">listTotaltView</param>

  6. <paramname="format">HTML</param>

  7. </result>

  8. <resultname="error">

  9.                /error.jsp    

  10. </result>

  11. <resultname="input">

  12.                /error.jsp    

  13. </result>

  14. </action>

  15. <actionname="toPdf"class="totalViewAction"method="listTotalView">

  16. <resultname="success"type="jasper">

  17. <paramname="location">/web/report/groupScore/countView.jasper</param>

  18. <paramname="dataSource">listTotaltView</param>

  19. <paramname="format">PDF</param>

  20. </result>

  21. <resultname="error">

  22.                /error.jsp    

  23. </result>

  24. </action>

  25. <actionname="toXml"class="totalViewAction"method="listTotalView">

  26. <resultname="success"type="jasper">

  27. <paramname="location">/web/report/groupScore/countView.jasper</param>

  28. <paramname="dataSource">listTotaltView</param>

  29. <paramname="format">XML</param>

  30. </result>

  31. <resultname="error">

  32.                /error.jsp    

  33. </result>

  34. </action>

  35. <actionname="toXls"class="totalViewAction"method="listTotalView">

  36. <resultname="success"type="jasper">

  37. <paramname="location">/web/report/groupScore/countView.jasper</param>

  38. <paramname="dataSource">listTotaltView</param>

  39. <paramname="format">XLS</param>

  40. </result>

  41. <resultname="error">

  42.                /error.jsp    

  43. </result>

  44. </action>

  45. </package>

配置文件詳解:

location:指定jasper的地址

dataSource:指定數據源的名稱,即Struts2的Action裏面的List集合

format:生成的報表的格式

  1. <actionname="toPdf"class="totalViewAction"method="listTotalView">

  2. <resultname="success"type="jasper">

  3. <paramname="location">/web/report/groupScore/countView.jasper</param>

  4. <paramname="dataSource">listTotaltView</param>

  5. <paramname="format">PDF</param>

  6. </result>

  7. <resultname="error">

  8.                /error.jsp    

  9. </result>

  10. </action>

extends後面需要添加jasperreports-default

  1. <packagename="test"namespace="/report"extends="struts-default,jasperreports-default">

.表格的使用。

①將表格組件拖入報表中,如圖所示:


本人使用的例子如下:

Summary部分,顯示的就是表格!

②新建dataset、設定table的列數


下一步


這裏有兩種選擇,可以手動輸入Sql語句,也可以Design query,來設計查詢語句。

如圖所示:



下一步,選擇需要的Fields,

選擇分組信息,也可以後面設計報表的時候添加。


自此,dataset已經設置完畢!如圖所示:



點擊完成之後,自動跳轉到了Table1選項卡,

頁面如下所示:

切換到Table 1 選項卡

③設計出如圖所示的表格。

這裏最後面有個統計字段,

就是統計各單位的所有人數,方法如下,expression如下:

  1. $F{unitAthleteView_manAthlete}+$F{unitAthleteView_femalAthlete}+$F{unitAthleteView_guide}+$F{unitAthleteView_coach}+$F{unitAthleteView_teamDoctor}

注意:默認的,表格是沒有邊框的,想要添加邊框的話,請手動添加邊框:具體操作如下:

選擇所有的Static Text Text Field

右鍵選擇Padding Add Borders

設置如下參數即可。

最後預覽效果如圖示:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章