JasperReports チュートリアル:Java の Jasper レポートとは?例
JasperReports for Java とは?
JasperReports アプリケーションのレポートに使用される Java 用のオープンソース レポート ツールです。このレポート ツールは、リッチ コンテンツを画面、プリンター、または HTML、PDF、XLS、RTF、CSV、XML、ODT、TXT などのさまざまなファイルに書き込むのに役立ちます。 JasperReports は、Java EE などの Java 対応アプリケーションや Web アプリケーションで動的コンテンツを生成するためにも使用できます。
この JasperReports の段階的なチュートリアルでは、次のことを学びます:
- ジャスパー レポートとは?
- ジャスパー レポートのインストール方法
- ジャスパー レポートを使用する理由
- JasperReports のライフサイクル
- ジャスパー レポートの機能
- ジャスパー対ペンタホ
- レポート テンプレートの作成例
- JasperReports の作成中に直面した課題
- ジャスパー レポートを使用するデメリット
Jasper Reports のインストール方法 - 環境設定
この Jaspersoft Studio チュートリアルでは、JasperReports 環境設定の段階的なプロセスを学びましょう:
ステップ 1) ジャスパー レポート コミュニティ エディションをダウンロードする
このリンクに移動し、[今すぐダウンロード] オプションをクリックして、ジャスパー レポート コミュニティ エディションをインストールします。
ステップ 2) Jaspersoft Studio CE を選択します
コミュニティ エディションから、Jaspersoft Studio CE を選択します
ステップ 3) Jaspersoft Studio をダウンロード
このリンクに移動し、[ダウンロード] ボタンをクリックします。ダウンロードした TIB_js-studiocomm_6.9.0_windows_x86_64.exe ファイルを開きます。TIB_js-studiocomm_6.9.0_windows_x86_64.exe.
ステップ 4) 同意ボタンをクリックします
以下の画面が表示されますので、同意するボタンを選択してください。
ステップ 5) 場所を選択
インストール場所を選択し、[次へ] ボタンをクリックします。
ステップ 6) 現在進行中です
次の画面に進行状況が表示されます。
ステップ 7) 終了ボタンをクリックしてください
次の画面で、終了ボタンをクリックしてください。
ステップ 8) 進行が完了しました
次の画面がウィンドウに表示されます。
ステップ 9) はじめましょう
次に、[はじめる] オプションをクリックします。
ステップ 10) Jasper Reports studio の使用を開始します
Jasper Reports studio の使用を開始できる次の画面が表示されます。
ジャスパー レポートを使用する理由
Jasper レポート ツールを使用する多くの理由は次のとおりです。
- レポート生成のパフォーマンスとユーザーへの配信を提供します。
- データをテキストまたはグラフィック形式で表現するのに役立ちます。
- これは、コンパイルと実行をレポートするためのスタンドアロンの組み込みレポート サーバーです。
- リポジトリ内のすべてのレポートへの役割ベースのアクセス制御が可能になります。
- 社内認証システムと統合するための春のセキュリティ フレームワーク
- 安全でスケジュールに基づいた自動配信のインタラクティブなレポート エンジンを提供します。
- Java または非 Java アプリケーションにレポートを埋め込むことができます。
- さまざまな形式のレポートをエクスポートできます。
- 開発者は複数の方法でデータを提供できます。
- メインの画像の上に配置される透かしを生成できます。
- SOAP、REST、Web サービスの完全なセットを提供します。
- 複数のデータ ソースから単一のレポート データを使用できます。
JasperReports のライフサイクル
この JasperReports チュートリアルでは、JasperReports のライフサイクルについて学習します。
Jasper レポートのライフ サイクルの一般的なフローは次のとおりです。
<センター>
<図> フィギュア>センター>
レポートのデザイン:
これは、JRXML ファイルを作成する最初のステップです。このファイルは、レポートのレイアウトを定義する単純な XML ドキュメントです。このファイルは、任意のテキスト エディターまたはレポート デザイナーを使用して作成できます。
ただし、レポート デザイナーを使用している場合は、レポートのレイアウトを視覚化できるため、JRXML の実際の構造は無視する必要があります。
レポートの編集:
このライフサイクル段階では、最初の段階で構築された JRXML がコンパイルされ、Jasper ファイル (jasper xtn を含むファイル) と呼ばれるバイナリ オブジェクトが生成されます。
このコンパイルは、実行中のパフォーマンスを向上させるために行われます。これらの生成された Jasper ファイルは、レポートを実行するアプリケーションと一緒に出荷する必要があります。
レポートの実行:
この段階では、アプリケーションからのデータが収集され、コンパイルされたレポート形式に入力されます。レポートにデータを入力する関数を提供する net.sf.jasperreports.engine.JasperFillManager というクラスがあります。
出力は Jasper 印刷ファイル (jprint xtn を含むファイル) に保存され、レポートの印刷またはエクスポートに使用できます。
レポートを目的の形式にエクスポート:
この最後の段階では、クラス JasperExportManager を使用して、以前に作成した Jasper 印刷ファイルを任意の形式にエクスポートする必要があります。 Jasper は複数の形式のエクスポートを提供するため、同じ入力を使用してデータのさまざまな表現を作成できます。
ジャスパー レポートの機能
ここで、この JasperReports の段階的なチュートリアルで JasperReports の機能について説明します。
Jasper Reports ツールの重要な機能は次のとおりです。
- 柔軟なレポート レイアウトを提供します。
- 開発者は複数の方法でデータを提供できます。
- 複数のデータ ソースからデータを受け入れることができます。
- 透かしも適用できます。
- 複数のデータソースを使用してデータを転送できます。
- サブレポートを生成できます
- サブレポートを生成できます。
- レポートを PDF、HTML、RTF、Microsoft Excel ファイルなどのさまざまな形式でエクスポートできます。
- このエンジンでは、レポート定義にグラフを含めることができます。
ジャスパー対ペンタホ
ここで、この Jasper Reporting チュートリアルで Jasper と Pentaho の違いについて学習します。
Jasper と Pentaho の主な違いは次のとおりです。
パラメータ | ジャスパー | ペンタホ |
---|---|---|
レポート | Jasper は、レポートの設計にレポートを使用します。 | Pentaho Report Designer を使用しました。 |
ETL サポート | Jaspersoft は、ETL の目的で Talend Open Studio バージョンを使用します。 | Pentaho Data Integrator をデフォルトの ETL ツールとして使用します。 |
ダッシュボード | ダッシュボード機能は、Jaspersoft のエンタープライズ エディタにのみ存在します。 | Pentaho は、ダッシュボードで幅広い機能を提供しています。 |
モバイル ビジネス インテリジェンス | Jaspersoft のモバイル BI も優れています。 | Pentaho は、モバイル BI エクスペリエンスを強化するためにサードパーティ ツールに依存する必要がありました。 |
ドキュメント | より良いマーケティング、サイト、ドキュメント。 | ドキュメンテーションのサポートが不十分です。 |
最高の機能 | 必要なものを簡単に調べて見つけることができます。 | データ マイニングと iPhone 統合を提供 |
有料版 | 有料版では、アドホック クエリ Web Ul、ダッシュボード作成 Web Ul などの機能が提供されます。 | LDAP 統合、SSO、監査などの機能を提供します。 |
レポート テンプレートの作成例
この JasperReports チュートリアルでは、JasperReports でレポート テンプレートを作成する方法を学びましょう。
JasperReports で使用されるレポート テンプレート ファイルは、拡張子が jrxml の単純な XML ファイルです。このファイルには、ルート要素としてタグが含まれています。 JasperReports フレームワークは、さまざまなタイプのデータ ソースを処理できます。
レポート テンプレートは、次の 2 つの手順を使用して設計および作成されます –
ステップ 1) Jaspersoft Studio で JRXML ファイルを作成します。
<オール>
ステップ 2) 目的のテンプレートを選択します。
<オール>
ステップ 3) 親フォルダーの選択。
<オール>
ステップ 4) データ ソース ウィンドウで、 [新規] ボタンをクリックして、新しいデータ アダプターを作成します。
ステップ 5) データ アダプタの選択。
<オール>
ステップ 6) データ アダプタの詳細を入力し、ファクトリ クラスを選択しています。
<オール>
ステップ 7) プレフィックスまたはパターンを入力しています。
<オール>
ステップ 8) ファクトリ クラスを定義し、jar ファイルへのパスを追加します。
<オール>
ステップ 9) 「次へ」ボタンをクリックしてください。
ステップ 10) おめでとう!必要なすべてのレポート作成情報が正常に追加されました。 「完了」ボタンをクリックしてください。
以下の画面に示すように、レポートが生成されます。
上記のファイルは、jasper ファイルと呼ばれる JasperReport Binary 形式にコンパイルする必要があります。
JasperReports ライブラリの一部であるインターフェイス net.sf.jasperreports.engine.design.JRCompiler は、このレポート テンプレート ファイルのコンパイルで重要な役割を果たします。
このインターフェースの実装は、Java、JavaScript、Groovy、またはその他のスクリプト言語で記述できます。
次の 2 つの方法で JRXML ファイルをコンパイルできます。
- プログラムによるコンパイル
- Apache ANT タスクを使用したコンパイル
さまざまなレポート バンドを理解する
以下は、商用レポート生成ツールのほとんどで採用されている標準レポート形式です。
- タイトル
- ページ ヘッダー
- 列ヘッダー
- 詳細li>
- 列フッター
- ページ フッター
- まとめ
各レポート バンドの詳細を学びましょう:
タイトル:
このバンドは、レポートの最初に表示されます。属性 isTitleNewPage="true."
を設定することで最初のページとして使用できます
ページ ヘッダー:
各ページの先頭に表示されるページ ヘッダー レポート バンド。タイトル バンドを使用する場合は最初のページを除外し、isSummaryWithPageHeaderAndFooter="false.".
を設定してこのサマリー バンドを使用する場合は最後のページを除外します。
列ヘッダー:
列ヘッダーは、各ページの詳細バンドの前に表示されます。
詳細:
提供されたデータ ソースの各レコードに対して繰り返される詳細セクション。また、複数の詳細バンド (1、2 など) を持つこともできました。
列フッター:
このセクションは、詳細バンドが存在する各ページの詳細バンドの下に表示されます。デフォルト設定はページの最後ですが、これは属性 isFloatColumnFooter=" true."
を設定することで最後の詳細バンドの下に切り替えることができます
ページ フッター:
このセクションは、サマリー バンド、タイトル バンド、および最後の非サマリー バンドを除く各ページの最後に表示されます。
最後のページのフッター:
このセクションは、通常のページ フッターの代わりに前のページに表示されます (要約バンドが指定されていない場合)。
まとめ:
概要セクションは、新しいページのレポートの最後にのみ表示されます。 isSummaryNewPage="true"
のとき が設定され、ページのヘッダーとフッターが設定されています isSummaryWithPageHeaderAndFooter="true".
グループ ヘッダー:
このセクションは、詳細バンドの前にグループ式が変更されるたびに定義されている場合にのみ表示されます。
グループ フッター:
このセクションは、詳細バンドの後でグループ式が変更される前に毎回グループが定義されている場合にのみ表示されます。
背景:
他のすべてのレポート バンドの背景として、すべてのページに表示されます。
データなし:
このバンドは、データ ソースが渡されなかった場合、またはデータ ソースが空で NoDataType="NoDataSection" が設定されている場合に表示されます。
JasperReports の作成中に直面した課題
Jasper レポートの作成中に直面するいくつかの課題を次に示します。
- コアの変更 – ビジネスの変更または強化。レポートのコア ロジックを変更する必要があります。
- 複雑なレポート - サブレポートとクロス集計レポートが良い例です。
- グラフ、XY 折れ線グラフ、円グラフ、棒グラフ、時系列グラフ、メーター グラフなどのグラフ レポートまたはビジュアル グラフ
ジャスパー レポートを使用するデメリット
ここでは、Jasper レポートを使用することの欠点/短所を示します。
- パッケージの一部を変更して機能を削除し始めると、デフォルトのパッケージ設定に戻すのは非常に困難です。
- 厳密すぎて、線の編集やクロス集計の作成が大変です。
- グループ化されたレポートの小計を指定するなどの一般的なタスクは、他の 2 つのレポート デザイナーの方が簡単です。
- Jasper では、レポートを実行する前にコンパイルする必要があります。つまり、レポート開発者は Java SDK 全体をインストールする必要があります。
- レポートを編集すると、ウェブ上で表示されるものと同じプレビューが表示されないことがあります。
まとめ:
- JasperReports は、オープンソースの Java レポート エンジンです。この Java クラス ライブラリは、アプリケーションにレポート機能を提供します。
- Jasper Reports は、レポート生成のパフォーマンスとユーザーへの配信を提供します
- Jasper Reports のライフ サイクルには、1) レポートの設計、2) レポートのコンパイル、3) レポートの実行、4) レポートの目的の形式へのエクスポートが含まれます。
- Jasper Reports では、複数のデータ ソースを作成してデータを転送できます。
- Jasper と Pentaho の主な違いは、Jasper レポートはレポートのデザインにレポートを使用するのに対し、Pentaho は Pentaho Report Designer を使用することです。
- JasperReports で使用されるレポート テンプレート ファイルは、拡張子が jrxml の単純な XML ファイルです。
- 重要なレポート バンドは、1) タイトル 2) ページ ヘッダー 3) 列ヘッダー 4) 詳細 5) 列フッター 6) ページ フッター、および 7) 概要です。
- Jasper Reports を使用する際の最大の課題は、ビジネス ロジックが変更された場合に、レポートのコア ロジックを変更する必要があることです。
- Jasper Reports の最大の欠点は、パッケージの一部を変更すると、デフォルトのパッケージ設定に戻すのが難しいことです。
Java