TOP設計・移行・活用> レポートエンジンを使用してのレポート出力
Eclipse BIRT
Eclipseが提供するBIとレポーティングツール

第4回:スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
著者:ビーブレイクシステムズ  川本 博之   2006/3/23
前のページ  1  2  3
レポートエンジンを使用してのレポート出力

   続いてレポートエンジンを使用し、Javaアプリケーションからレポートを出力してみます。

   出力するには、先ほど解説したTomcatでのプレビューの項でダウンロードした「birt-runtime-2_0_1」内の「Report Engine」を使用します。

   「Report Engine」内のpluginsフォルダにもiTextのJarとMySQLのドライバが必要となりますのでTomcatの環境設定時と同様にコピーしましょう。


クラス一覧

   表4にレポート出力に使用する「org.eclipse.birt.report.engine.api」パッケージ内の主なクラス群と役割を記します。

クラス群 役割
EngineConfig レポートエンジン全体で使用するグローバルな情報を保持します。setEngineHome()にはレポートエンジンのパスをセットします
ReportEngine レポートエンジンクラス。openReportDesign()でレポートデザインファイルを読み込みます。
IReportRunnable レポートエンジンクラスにより、読み込まれたデザインファイルの情報を保持します。
IRunAndRenderTask レポートを生成する際の実行タスククラス。出力形式、パラメータをセット可能です。
HTMLRenderContext
/PDFRenderContext
imageファイルのディレクトリ設定、フォントの指定などを行います。
HTMLRenderOption
/FORenderOption
出力ファイル名、出力形式を保持し、taskにセットされます

表4:クラス群と役割


使用例

   レポートファイル生成クラス作成し、実際にファイルを生成してみましょう。今回は「Report Engine」配下のJarにパスを通し、以下のサンプルクラスを作成します。

   サンプルでは引数にファイルフォーマット文字列をとり、「店舗一覧」レポートをHTMLかPDFで出力します。実行してファイル出力を確認してみましょう。

ReportExample.java
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.FORenderOption;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.RenderOptionBase;
import org.eclipse.birt.report.engine.api.ReportEngine;

public class ReportExample {

   public static void main(String[] args) {
      try {
         // EngineConfigの生成とEngineHomeのセット
         EngineConfig config = new EngineConfig();
         config.setEngineHome("C:\\work\\birt-runtime-2_0_1\\Report Engine");

         // レポートエンジン生成とレポートファイル読み込み
         ReportEngine engine = new ReportEngine(config);
         IReportRunnable design =
            engine.openReportDesign("C:\\work\\birt_work
\\birtPrj\\storeList.rptdesign");

         // タスク生成
         IRunAndRenderTask task = engine.createRunAndRenderTask(design);

         // パスを含むファイル名、形式を指定したレンダオプションをtaskにセットします
         // imageファイルの使用などがある場合、HTMLRenderContextのセットも必要となります
         if (RenderOptionBase.OUTPUT_FORMAT_HTML.equals(args[0])) {
            //HTML設定
            RenderOptionBase options = new HTMLRenderOption();
            options.setOutputFileName("c:\\work\\storeList.html");
            options.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_HTML);
            task.setRenderOption(options);
         } else {
            // PDF設定
            RenderOptionBase options = new FORenderOption();
            options.setOutputFileName("c:\\work\\storeList.pdf");
            options.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_PDF);
            task.setRenderOption(options);
         }

         // 実行
         task.run();

         engine.destroy();

      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}


まとめ

   これまで4回にわたりEclipse BIRTを紹介してきましたがいかがでしたでしょうか。

   2006年2月に米Gartner社から「BI市場は、2009年までに30億ドル規模に拡大するだろう」という調査結果が発表されました。日本においてBIを導入している企業はまだ少ないですが、今後日本でもBI市場は拡大していくことでしょう。

   Eclipse BIRTは、開発者の視点から見た場合「帳票ツール」という側面のみで捉えてしまいがちですが、Eclipse BIRTは「レポーティングツール」です。もちろん「帳票ツール」としても大きな威力を発揮しますが、Eclipse BIRTにより出力される「レポート」は、それ自身がBIツールとしての機能を持つことができるといってもよいでしょう。

   BIソフトウェアベンダー各社がBIツールに力を注ぐなかで、Eclipse BIRTがどういう位置づけに置かれてゆくか、拡大していくBI市場とともに興味深い点だと思います。

前のページ  1  2  3


株式会社ビーブレイクシステムズ  川本 博之
著者プロフィール
株式会社ビーブレイクシステムズ  川本 博之
Javaスペシャリスト。前職ではJava専業ソフトウェアハウスにおいてプロジェクトリーダーとして活躍。現職ではオープンソースに関する技術の研究活動を日々行なう。常に、ビジネス設計を意識したユーザが使いやすいシステム構築を心掛けている。


INDEX
第4回:スクリプティング機能・Tomcatでのプレビュー・レポートエンジンを使用したレポート出力
  はじめに
  Tomcatでのプレビュー
レポートエンジンを使用してのレポート出力