原文出處:http://blog.csdn.net/legendinfo/archive/2004/10/27/154876.aspx
JasperReports
JasperReports是一個流行,完全開放源代碼的報表工具,你能夠使用XML報表模版在屏幕上顯示報表,打印或者保存為一個PDF文檔。JasperReport主要是包含一個Report Engine來解釋XML。
使用jasperreports的大致流程是:
1.定義報表格式文件(XML文件),這個格式文件可以手寫也可以用ireport(圖形界面)生成。
2.編譯報表格式文件。jasperreports提供相關的方法,只需要調用一下就可以了,生成*.jasper。
3.調用*.jasper生成報表。
在報表設計工具中設計xml報表模板。設計完畢后,啟動Report Engine,把xml編譯成jasper文件,然后通過jdbc或其他數據源填充數據,生成jprint對象或文件,然后通過JasperView來顯示報表,最后打印或輸出為(PDF, HTML, XLS,
CSV and XML files)。JasperReport的數據源可以通過jdbc,也可以是我們自己提供的數據源比如Object[][],Vecotor等。
對于JasperReports報表設計工具卻有多個,包含jasperEdit,JasperDesing,ireport(推薦)。
三者功能上的一些比較:
|
JasperDesign
|
ireport
|
JasperEdit
|
Xml文本編輯
|
無
|
無
|
有
|
可視化操作
|
差
|
好
|
一般
|
穩定性
|
差
|
好
|
好
|
可操作性
|
差
|
好
|
|
速度
|
差
|
很好
|
一般
|
可否直接預覽報表
|
不行
|
不行
|
可以
|
JasperReports資料較多,API組織很到位,各種Demo,Viewer很齊全。已收集到其收費文檔。IReport的資料也較多。JasperReports導出的各種格式的圖標樣式比JfreeReport的對應格式美觀。
美國JDJ Java報表工具評選開源工具第一。
優點:
1、 它是開源和免費的,便于研究和修改;100%的純java開發,免去平臺限制。
2、 對于程序員來說,其設計是有第三方的可視化設計工具iReport支持的,這樣可以避免一些常范的語法錯誤。
3、 最重要的是,它把報表樣式放在一個xml文件中定義,因此我們要作自定義的報表,只需集中控制這個xml文件。
4、 jasper提供了參數的應用,然后可以在一個jsp文件中去初始化這些參數,為我們作xml的集中控制帶來了很大的方便。
缺點:
1、 報表的格式幾乎是不可變的,只能是列表式,如果要作變通,必須在數據上作變通。
2、 沒有格線,報表的美觀效果有可能會受到影響,也影響了打印的效果。
3、 如果是自生成xml文件,ireport 是用不上的,所以有許多的語法問題都要特別注意。
4、 目前用它來作自定義報表的文檔幾乎沒有,因此經驗支持相對較少。
5、 因為是免費的,所以沒有技術支持。
JasperReports報表需要編譯,生成一個中間文件.jasper。
Java程序可以用JasperReports提供的API直接解析.jasper文件顯示報表。
開發時間:從2001開始開發,目前版本0.5.3。
JfreeReport
JFreeReport是JFreeReport.Org基于LGPL授權協議提供的一組java包,是JFreeChart的姐妹項目,用于生成各類報表。JFreeReport的數據繼承自Swing組件的TableModel接口,使用基于XML的報表格式定義文件對報表進行格式化。JFreeReport生成的報表可以分頁預覽、打印,而且支持導出為多種格式的文件如pdf、Excel、CSV、html等。更重要的是,JFreeReport不僅支持基于C/S結構的系統,而且支持基于B/S結構的系統中的在線報表顯示。
使用JFreeReport生成報表通常需要以下三個基本步驟:
生成可通過TableModel接口訪問的數據。
生成一個JFreeReport實例,他定義了我們如何格式化顯示數據。
將數據和JFreeReport實例連接起來,并且將該JFreeReport實例傳給PreviewDialog的一個實例顯示給用戶。
JFreeReport中使用了兩種基于XML的報表定義文件來保存報表定義信息:簡單格式和擴展格式.很明顯,簡單格式不能夠完全的描述JFreeReport支持的全部報表定義信息,但是他更易于上手使用。而擴展格式則能夠對JFreeReport的報表定義提供完整的支持,但是擴展格式太詳細了,不太容易使用。
JfreeReport沒有可視化的報表設計工具。
JfreeReport不需編譯成中間文件,對象直接在內存中傳遞。
缺點:不能結合jdbc得到數據來填充報表,只能自定義數據源。
例子很少,沒有web demo。文檔收費。
開發時間:從2002年開始開發,目前版本0.8.4_10
開源報表工具選擇:建議JasperReports+iReport
posted on 2007-11-15 14:57
阿蜜果 閱讀(4091)
評論(2) 編輯 收藏 所屬分類:
JFreeReport