http://code.google.com/p/excelreport/
ExcelReport是一款基于Excel的輕量級地報表生成工具,它通過用戶定義報表模板文件,定義數據源,并配置相應的配置文件,就可以通過頁面向 指定Servlet請求輸出報表,其生成的報表是一個excel文件。通過模板文件的方式來生成Excel文件,可以讓程序員從對生成特定格式的 Excel文件輸出格式的控制以及Excel文件讀寫等紛繁復雜而又容易出錯的細節中解放出來,使得程序員只需組裝自己的數據源,而根本不需要關心如何去 生成Excel文件,如何用程序去控制最終的文件輸出效果,從而大大增強了程序的可維護性,因為很多的報表輸出格式的修改只需通過模板文件的修改就可以實 現,而無需改動程序。同時該報表工具又提供一些靈活的特性來使得用戶可以自由控制報表的輸出過程。
ExcelReport的靈活性
數據源的自定義:
用戶可以自己定義數據源以替代默認實現,例如,我們可以編寫一個自己的數據庫數據源,通過定義該數據源我們可以利用現有系統的數據庫連接及數據檢索框架等。
嵌入報表數據處理類:
用戶可以嵌入自己報表數據處理類(通過配置文件配置),通過嵌入用戶自己的報表數據處理類,報表工具給用戶提供了一個入口讓用戶參與報表的生成過程。比 如,用戶可以在生成報表前來組合自己的數據源,在這里用戶完全可以充分利用現有系統的相關業務類來生成自己的數據源。
插入查詢監聽器:
用戶可以插入自己的查詢監聽器,通過監聽數據源的查詢請求來做相關數據的檢索及處理等工作(該功能在主從報表中尤其有用)。
插入字段監聽器:
通過插入字段監聽器,使得用戶可以參與報表的輸出過程,控制報表的具體輸出的數據。
目前它具有那些功能?
1. 卡片式報表的支持。
2. 列表式報表的支持。
3. 主從式報表的支持。
4. 分組式報表的支持。(注:主從式和分組式之間可以任意嵌套,即一個主從式報表中我們可以嵌套一個分組從而實現對主記錄或從記錄進行分組的功能,反之也如此。)
5. 格式化的數據輸出,該報表工具支持所有Excel的格式化輸出控制。
6. 支持所有Excel的函數。
它與普通報表工具的區別:
1. ExcelReport是一個完全基于excel的報表工具,其最大的特點是完全依賴于excel。這是其于其他任何報表工具的最大區別。
2. 通過依賴于Excel它具備了以下優點:
a. 省略了專門的報表模板定義工具,應為該工具就是Excel本身,相信Excel的強大功能可以勝過任何其他報表工具模板定義工具。
b. 可以充分利用Excel的強大功能,如Excel函數庫及其相關的腳本技術,Excel的圖表(暫未提供支持)以及其對打印功能的強大控制能力。