JasperReports是一個基於Java且免費開源的報表函式庫,對於以Java為主要開發語言的工程師來說,有報表需求的話就有很大的機會碰到。
實際使用上,有iReport和Jaspersoft Studio兩種GUI介面可以幫助我們更直觀的設計報表模板,然而iReport在2014年之後就停止更新了,因此我比較推薦使用Jaspersoft Studio,根據官網在2024年6月時JasperReports Library和Jaspersoft Studio都有更新到7.0.0版囉。
做報表的工具不只有JasperReports,那為什麼要用JasperReports呢?
報表設計
透過Jaspersoft Studio設計的報表模板會產生對應的XML文件(.jrxml
),描述報表的佈局和屬性等內容。
編譯
這些文件會經由Jasper Compiler編譯成Jasper文件(.jasper
),供JasperReports使用。
DataSource填充
依據我們程式定義好的 SQL 查詢結果或Java Bean來取得資料,並將資料填充到報表模板中,產生Jasper print檔案(.jrprint
)。
報表輸出
根據報表生成時的需求,Exporter API能將填充後的模板轉換成指定格式的報表。JasperReports支援多種格式的輸出,如PDF、Excel、HTML、CSV等。
大概是這樣,一開始可能覺得有點抽象,實作的時候就是照這個生命週期去輸出報表,之後有程式碼範例再回來看圖片應該會比較好理解。
下一篇將會與大家一起來認識GUI介面Jaspersoft Studio