第2回:iReportに触れる

 
   こんにちは。ビーブレイクシステムズの横井です。第1回では、OSSを使用した電子帳票の全体像について説明しました。今回からは実際にOSSを使用して電子帳票を実現する要素技術について説明します。これから紹介するものは、どれも実際にプロジェクトで使用し、安定稼働の実績のあるものです。

   まず、初めに紹介するのはiReportという帳票デザイン・実行環境です。第1回の適用事例で紹介した「不動産物件管理システム」で使用したものです。


iReportとは

   iReportはJasperReports(注1)のデザイン・実行環境で、SourceForget.netで開発が行われているオープンソースのツールです。

   iReportでは帳票のデザインテンプレート(以降テンプレートXML)をGUIで作成し、作成したテンプレートXMLをJasperReportsに読み込ませることで、帳票を出力しています。テンプレートXMLの作成に関する説明ではJasperReportsを意識することはあまりありませんが、実際にJavaアプリケーションやサーブレットへ組み込む場合にはJasperReportsを利用することになりますので、iReportとJasperReportsの関係を理解しておいてください。




※注1:JasperReportsとは同一のテンプレートXMLからPDF、HTML、Excel等での帳票作成が可能なライブラリです。iReport、JasperReportsそれぞれの詳細については以下のURLを参照してください。
iReportに適した帳票

   iReportで作成する帳票は、内部にグラフを含ませて、分析系の帳票として使用することも出来ますが、定型帳票の請求書、発注書、受注書などに適しています。Excelでの出力も出来るので、分析系の非定型の帳票にも使えるのではないかと、思われる方もいるかと思いますが、iReportのExcel出力では見た目は同じようになるものの、シートの行、列のレイアウトが崩れてしまうため、出力されたExcel上でデータを加工するといった用途にはあまり向いていません。

 
iReportに触れる

   それでは、必要な設定を行い、iReportによる帳票作成の流れを見て行きます。


インストール

   インストールはiReportのプロジェクトページ(http://ireport.sourceforge.net/)からiReport-0.4.1.zipをダウンロードして、任意のディレクトリに解凍するだけで完了です。解凍したディレクトリのiReport.batを実行するとiReportが起動し、図1の画面が表示されます。

iReportの起動画面
図1:iReportの起動画面


   なお、本連載では表1の環境を使用しています。

  • OS:Windows XP Professional
  • iReport:バージョン 0.4.1
  • JasperReports:バージョン 0.6.4(iReportの0.4.1に含まれているもの)
  • JDK:Java2 SDK 1.4.2_06
  • PDFビューア:Acrobat Reader 6.0
  • データベース:PostgreSQL 7.4.6

表1:実行環境



初期設定

   初めに、iReportのメニューを日本語に設定します。メニューから「Tools→Options」を選択し「General」タグを選択します。「Language」で"日本語"を選択し、「Apply」を押すとメニューが日本語になります(図2)。「Save」を押して設定を保存しておくと次回起動時からはメニューが日本語になります。

日本語の設定
図2:日本語の設定


   次に、帳票の出力結果を確認するための設定を行います。本連載ではPDFで出力を確認しますのでメニューから「ビルド」を選択し「PDF プレビュー」にチェックします。次に、メニューから「ツール→オプション」を選択し、「External programs」タグを選択します。「PDF Viewer」に、使用するビューアの実行ファイルへのパスを設定します(図3)。

PDFビューアの設定
図3:PDFビューアの設定

 
基本説明

   それではまず、iReportの画面および基本的な操作方法について説明します。iReportのメインウィンドウは図4のような構成になっています。

iReportのメインウィンドウ
1. メニュー
iReportの各種操作、設定を行います。
2. 各種アイコン
テンプレートのデザインや、実行時に使用するアイコンです。代表的なアイコンについては表2のアイコン一覧を参照してください。
3. プロジェクトブラウザ
現在開いているファイルの一覧が表示されます。タグを切り替えることでドキュメント構造が参照できます。
4. デザイン編集エリア
テンプレートのデザインを行うエリアです。
5. バンド
レポート上の表示上の分類です。詳細は表3のバンド一覧を参照してください。
6. 出力ウィンドウ
コンパイル、実行時などiReportのメッセージを表示するエリアです。

図4:iReportのメインウィンドウ


アイコンアイコン名称概要
保存アイコン保存アイコン編集中のテンプレートを保存します
コンポーネント選択アイコンコンポーネント選択アイコン編集エリアに配置されたコンポーネントを選択します
線分アイコン線分アイコン編集エリアに線分を配置します
四角形アイコン四角形アイコン編集エリアに四角形を配置します
四角形アイコン(角丸)四角形アイコン(角丸)編集エリアに角が丸くなった四角形を配置します
円形アイコン円形アイコン編集エリアに円形を配置します
イメージアイコンイメージアイコン編集エリアにイメージデータを配置します
テキストアイコンテキストアイコン編集エリアに静的テキストを配置します
フィールドアイコンフィールドアイコン編集エリアにフィールドを配置します
サブレポートアイコンサブレポートアイコンレポート中に別のレポートを埋め込むサブレポートを設定します
グラフアイコングラフアイコンレポート中にグラフを設定します
バーコードアイコンバーコードアイコン編集エリアにバーコードを配置します
グループアイコングループアイコン任意の単位で表示部をグループ化します
パラメータ設定アイコンパラメータ設定アイコンレポートにパラメータを設定します
データソース設定アイコンデータソース設定アイコンデータソースを設定します
コンパイルアイコンコンパイルアイコンテンプレートをコンパイルします
実行アイコン(空データソース)実行アイコン(空データソース)空のデータソースを使用して帳票を出力します
実行アイコン実行アイコンデータソースを使用して帳票を出力します

表2:アイコン一覧


バンド概要
background背景を設定する領域です
titleタイトルを設定する領域です
pageHeaderページごとのヘッダを設定する領域です
columnHeaderdetail(繰り返し部)のヘッダ領域です
detail詳細表示領域(繰り返し部)です
columnFooterdetail(繰り返し部)のフッタの領域です
pageFooterページごとのフッタを設定する領域です
lastPageFooter最終ページのフッタを設定する領域です
summaryサマリ表示領域です

表3:バンド一覧

 
帳票作成

   では、さっそく"Hello World"と表示する帳票を作成してみましょう。まずメニューから「ファイル→新規ドキュメント」を選択し、「レポート名」に"Hello World"と入力して「OK」を押します。

ドキュメントの作成
図5:ドキュメントの作成


   次に、「テキストアイコン」を選択し、デザイン編集エリアのtitleバンドに配置します。配置したテキスト領域をダブルクリックし、「Static Text」タグを選択して"Hello World"と入力します。

注2:バンドをまたいでコンポーネントを配置するとコンパイル時にエラーとなりますので、バンドにおさまらない場合はバンドの境界線を選択してバンド領域を広げてください。
実行画面
図6:実行画面


   これでテンプレートXMLの作成は完了ですので、「保存アイコン」を押してテンプレートXMLを任意の場所に保存します。保存後、「実行アイコン(空データソース)」を押すとテンプレートXMLがコンパイルされ"Hello World"と文字が入ったPDFが出力されます。


まとめ

   シンプルな例でしたが、下の表4の流れは変わりませんので、テキスト以外のコンポーネントも色々と配置して試してみてください。次回以降は実際での利用を想定して、データソースやパラメータといった外部リソースとのデータのやり取りを中心に説明します。

  1. デザイン編集エリアに配置してテンプレートXMLを作成
  2. 保存
  3. コンパイル
  4. 実行

表4:レポート作成の流れ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值