2009년 10월 31일 토요일

iReport (JasperReport基盤)

#この記事も個人BLOGネタから移行(せっかくなので最新版を入れてみた)
#以前は jasperreports2.0.1とiReport2.0.1を使ってみた。
#TechDayは金曜日といいつつも一日遅れでm(_ _)m


この記事では最新版 JasperReports3.0.0とiReport2.0.5 を試しました。
iReportにはJasperReports2.0.5が含まれているので特にJasperReports3.0.0を個別に入手する必要はありません。

最近ではOpenSourceが企業で使われることも増えていると思いますが、http://sourceforge.net/でも非常に人気(2008年5月24日現在 rank22)を博している帳票生成エンジンとそのデザインツールについて書いてみました。
日本市場ではウィングアークの製品がポピュラーですがここまで無償のソフトウェアでできてしまうのではかなり驚きです。
ちなみに弊社の101NEOにもこのエンジンを利用した機能をベータとして実装しています。
この機能使って出力した請求書のサンプル。

それではJasperReportsとiReportの入手方法から簡単な使い方まで一気にご説明します!

JasperReportsとは

 pure javaで書かれたオープンソースの帳票作成ツール/エンジン

iReportとは

 JasperReportsで作成する帳票(レポート)プログラムのデザイン・ビルダーツール
 GUIのツールで帳票のデザインや表示項目の属性を設定できる。
 デザインと属性の設定をしては実行(テスト)を繰り返して帳票を作成する。
 実行するときに*.javaが自動生成されてコンパイル・実行される。
 出力できるフォーマットは様々でPDF、XLS、HTML、CSVなど

これらのソフトウェアを入手するためにまずは以下のサイトに行ってユーザ登録を行いましょう。
http://www.jasperforge.org/




◆事前準備(このメール部分は昨年の時点の情報なので変更があるかもしれません)
 ■jasperforgeへのユーザ登録。(無償)

  ※登録すると以下のメールが送られてくる。

--------------------------------------------------------------------------
  件名:User Registration
  内容:
  Welcome XXXXXX,
  Your JasperForge.org membership has been activated. Your account details are as follows:
  Email : XXXXXX@gmail.com
  User Name : XXXXXX
  Here are some tips to ensure you get the most out of JasperForge.org.
  *** 以降、省略 ***
--------------------------------------------------------------------------

 ■ダウンロード
  ・登録したユーザIDで以下のサイトにログイン
  ・JasperReportsとiReportは別々にダウンロードページがあるのでそれぞれ入手。
   左上の「Downloads」タブをクリックするとJasperForge.org Download Centerの
   ページが表示される。



  ・JasperReports3.0.0をクリックして表示された画面の一部



jasperreports-3.0.0.jar を右クリックメニューから保存
サイズ:約2MB

  ・iReport 2.0.5をクリックして表示された画面の一部



iReport-2.0.5-windows-installer.exe を右クリックメニューから保存
サイズ:約47.7MB

◆iReportのインストール
 iReport-2.0.5-windows-installer.exe 起動するとインストールウィザードが立ち上がるので、メッセージに従って画面を進めるだけ。
 必要ディスク容量:65.8MB









◆iReport 2.0.5の起動


デスクトップに出来たショートカットアイコンかスタートメニューから起動。
起動画面は2.0.1の時のハイビスカスのほうがよかったなぁ。。





◆初期画面



iReportの初期設定



◆オプション->設定->「コンパイラ」タブ

コンパイルオプションを設定
「レポートディレクトリをコンパイルに使用」にチェックをした。
初期ではデフォルトコンパイルディレクトリがiReportのホームになっていてテスト実行するたびに*.javaファイルが出力されていくので各レポートディレクトリでコンパイルされるようにした。

◆オプション->設定->「外部プログラム」タブ


テスト実行時に表示するファイルのタイプに応じて起動するアプリケーションを設定しておく。

◆オプション->クラスパス


 ■Oracle接続用にJDBCドライバを設定(ojdbc14.jar)
 ■JasperReports3.0.0(jasperreports-3.0.0.jar)はここで指定しても良いがiReportのlibフォルダでも良いようだ。
  C:\Program Files\JasperSoft\iReport-2.0.5\lib

※以前は日本語フォント用にiTextの日本語フォント(iTextAsian.jar)が必要だったが
 このバージョンでは必要なかった。

◆データソースの設定
 ■データ->接続/データソースの「新規」で作成
  ウィザードでOracleのJDBC接続を作成
  ※ちなみにここで使用しているOracleはExpress Editionといって無償版です。




レポートの作成


それでは実際にレポートを作成してみましょう。

ファイル->レポートウィザードからちょちょいのちょいという感じで
データベースから取り出したデータをPDFレポート出力するアプリケーションが
出来てしまいました。

まずはテンプレートの選択。無しでもOK。

接続先データソース(画像の例ではOracleのデモテーブルSCOTT)を選択。
Design qu... とあるボタンをクリックしたらSQLデザイナーみたいな画面が表示される。
スキーマSCOTTを選択するとSCOTTにあるテーブルが一覧表示される。
レポート出力したい対象のテーブルを選択してドラッグ&ドロップ。
参照整合性制約が張ってあるテーブルは勝手にJOINされる。
制約がない場合でもJOINしたいテーブルに同じ名前のカラムがある場合はカラムをドラッグしてJOIN対象テーブルにドラッグするとリレーションの線が引かれる。
取得したいカラムをチェックボックスで選択。

ウィザードを次に進めると自動的にSQLクエリ文が生成される。
ちょっとデータの並び順を変えたい場合など自動生成されたクエリ文にORDER BY句を追加して変更もできる。
GROUP BYはウィザードメニューでできるようだ。





次にレイアウトの指定。


指定はここまで最後に「ポチッ」と完了ボタンを押すと出来上がり。



ツールのアイコンメニューの右端にある「実行(有効な接続)」を「ポチッ」と押してテスト。





生成された帳票はiReport JasperViewerで表示される。
左上の保存アイコンをクリックして保存する際に好きなデータフォーマットで保存が可能だ。



iReportで作ると以下のファイルが生成される。
ファイル名.jrxml ・・・テンプレートJRXMLファイル
ファイル名.jasper ・・・コンパイル済みテンプレート、jasperファイル
※上記のファイルをアプリで操作するためのclassがjasperreportsにはたくさん用意されているのでそれらを使うことでWebアプリケーションなどで非常に簡単にPDF出力する帳票アプリケーションが作成できる。

帳票ツールにかけるコストを下げたいユーザにとっては魅力あるOSSだと思います!

댓글 없음:

댓글 쓰기