iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0

什麼是JasperReports

JasperReports是一個基於Java且開源的報表函式庫,對於以Java為主要開發語言的工程師來說,有報表需求的話就有很大的機會碰到。

實際使用上,有iReport和Jaspersoft Studio兩種GUI介面可以幫助我們更直觀的設計報表模板,然而iReport在2014年之後就停止更新了,因此我比較推薦使用Jaspersoft Studio,根據官網在2024年6月時JasperReports Library和Jaspersoft Studio都有更新到7.0.0版囉。

Why JasperReports

做報表的工具不只有JasperReports,那為什麼要用JasperReports呢?

  • 開源: 說白一點就是免費的最香!而且仍在持續更新。
  • 報表設計功能完整: Jaspersoft Studio使用上直覺又容易上手,能滿足大多數的需求。
  • 與 Java 無縫整合: JasperReports是用Java寫的,因此與Java生態高度整合,報表資料可以直接由JavaBean、JDBC配置,且可以用Java本身的API來處理並匯出報表。
  • 靈活性: 報表模板與資料分離,資料需要改動的話報表模板不需大幅度調整。

JasperReports 的生命週期

JasperReports - Life Cycle
取自tutorialspoint

  1. 報表設計

    透過Jaspersoft Studio設計的報表模板會產生對應的XML文件(.jrxml),描述報表的佈局和屬性等內容。

  2. 編譯

    這些文件會經由Jasper Compiler編譯成Jasper文件(.jasper),供JasperReports使用。

  3. DataSource填充

    依據我們程式定義好的 SQL 查詢結果或Java Bean來取得資料,並將資料填充到報表模板中,產生Jasper print檔案(.jrprint)。

  4. 報表輸出

    根據報表生成時的需求,Exporter API能將填充後的模板轉換成指定格式的報表。JasperReports支援多種格式的輸出,如PDF、Excel、HTML、CSV等。


取自簡睿隨筆

大概是這樣,一開始可能覺得有點抽象,實作的時候就是照這個生命週期去輸出報表,之後有程式碼範例再回來看圖片應該會比較好理解。

下一篇將會與大家一起來認識GUI介面Jaspersoft Studio


Reference


上一篇
前言
下一篇
報表設計好朋友Jaspersoft Studio(上)-建立空白模板、認識使用介面
系列文
Java工程師的報表入門與實作15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言