このトピックでは、EGL プロジェクト用にレポートを作成および生成するための一般的なプロセスについて、その概要を示します。 これらのプロセスに関する追加の詳細は、EGL レポート・タスクのヘルプ・トピックに記載されています。
レポートを作成するには、以下に述べる 3 つのプロセスを実行します。 このうちの 2 つのプロセスは、XML 設計の作成とレポートを駆動するコードの作成で、これらは必須のプロセスです。 第 3 のプロセスであるレポート・ハンドラーの作成は、オプションです。 これらのプロセスは、説明されている順序で実行しなくてもかまいません。 例えば、レポート・ハンドラーが必要な場合は、それを作成してから XML 設計文書を作成するか、設計文書とレポート・ハンドラーの作成を同時に行うことができます。ただし、その例外が、以下に示すステップ 2 の『レポート・ハンドラーと XML 設計文書のコードの相互関係』で説明されています。
XML 設計文書と、レポートを駆動するためのコードがないと、レポートを生成できません。
XML 設計文書は、.jrxml という拡張子を持っている必要があります。作成したファイルにこの拡張子が付いていない場合は、そのファイルを .jrxml ファイルとして名前変更してください。 また、XML 設計文書は、必ず EGL レポート・ハンドラーやレポート起動コード・ファイルと一緒に、同じ EGL パッケージに保管してください。
作成した .jrxml ファイルは、.jasper ファイルへコンパイルされます。 新しい .jrxml ファイルを作成しない場合は、前にコンパイルされた .jasper ファイルをインポートする必要があります。
重要: レポート・ハンドラーおよびレポート起動コード・ファイルには、XML 設計文書と異なる名前を付ける必要があります。 そのようにしなかった場合は、設計ファイルのコンパイルによって、Java コードが上書きされます。 問題を回避するために、レポート・ハンドラーには reportName_handler.egl という名前を付け、XML 設計文書には reportName_XML.jrxml という名前を付けてください。 例えば、レポート・ハンドラーに abc_handler.egl、設計文書に abc_XML.jrxml という名前を付けることができます。 また、XML 設計ファイルには必ず固有の名前を付け、EGL プログラム・ファイルと競合しないようにしてください。
EGL は、自動的に EGL レポート・ハンドラーから Java コードを生成し、XML 設計文書 (.jrxml ファイル) を .jasper ファイルへコンパイルします。
EGL プログラムが実行された後、EGL によって使用された JasperReports プログラムは、生成されたレポートを、レポート起動コード内の reportDestinationFileName によって指定されたロケーションに自動的に保管します。
レポートを生成する JasperReports プログラムは、中間ファイル・フォーマットである .jprint ファイルも生成して保管します。このファイルがエクスポートされて、最終的なレポート・フォーマット (.pdf、.html、.xml、.txt、または .csv) になります。
プログラムは、1 つの .jprint を何度もエクスポートに再利用できます。
reportLib.exportReport(myReport, ExportFormat.pdf);
EGL は、エクスポートされたレポートを自動ではリフレッシュしません。レポートの設計を変更した場合、またはデータが変更された場合は、あらためてレポートへの埋め込みを行い、レポートを再エクスポートする必要があります。
関連する概念
EGL レポートの概要
関連するタスク
パッケージへの設計文書の追加 (Adding a design document to a package)
レポート・テンプレートの使用 (Using report templates)
EGL レポート・ハンドラーの作成 (Creating an EGL report handler)
EGL レポート・ハンドラーの手動作成 (Creating an EGL report handler manually)
レポートを駆動するコードの作成 (Writing code to drive a report)
レポートの実行 (Running a report)
レポートのエクスポート (Exporting reports)
EGL でのコンテンツ・アシストの使用
関連する参照項目
EGL レポート・ライブラリー (EGL report library)
データ・ソース (Data sources)
EGL レポート・ハンドラー (EGL report handler)