JasperWaveとは?

JasperWaveはJavaのオープンソース帳票生成ライブラリであるJasperReports用の帳票デザインツールで、Eclipseベースで開発されている。

図1 : JasperWaveのWebサイト

JasperReports用のデザインツールとしてはiReportが有名だが、JasperWaveはEclipse上で動作するため、Javaプログラマが普段使い慣れた環境で利用することができる。また、iReportと比べると操作性が優れていると感じる場面もある。

JasperWaveは単体で動作可能なEclipseRCP版、JasperWaveをインストール済みのEclipse Indigoパッケージが用意されているほか、更新サイトからプラグインをインストールして利用することも可能だ。

JasperWaveを使ってみよう

それでは実際にJasperWaveを使ってみよう。本稿ではEclipseプラグイン版のJasperWaveを使用しているが、EclipseRCP版を使用する場合も基本的な操作方法は同じなので適宜読み替えて欲しい。

JasperWaveをインストールするとJasperWave Report Designerパースペクティブが追加される。このパースペクティブにはJasperWaveでレポートを編集する際に使用するビューが配置されている。

図2 : JasperWave Report Designerパースペクティブ

[ファイル]メニューから[新規]→[レポート]で新しいレポート(jrxmlファイル)を作成することができる。iReportではレポートのベースとなるテンプレートが多数用意されているが、JasperWaveではテンプレートは用意されていない。

レポートの編集に関しては、JasperWaveとiReportの操作方法は似ており、レポートデザイナではパレットからコンポーネントをドラッグ&ドロップしてレポートのデザインを行っていく。

レポートデザイナ下側にはWYSIWYGでデザインを行う[デザイン]タブに加え、[ソース]タブで現在のjrxmlファイルの内容、[プレビュー]タブで実際の表示イメージを確認することができる。[デザイン]タブでの表示と実際の表示は異なることもあるので[プレビュー]タブで確認しながら作業を進めるといいだろう。

図3 : レポートのプレビュー表示

ただし、[ソース]タブは参照のみで直接XMLを編集することはできない。もちろんjrxmlファイルを別のエディタで開いて編集することは可能だが、微調整を行う場合など直接XMLを編集したほうが便利なケースもあるため、レポートデザイナ上でXMLの編集を行うことができないのは不便かもしれない。

また、レポートで使用するデータソースの設定では、JDBCやXML、CSVファイルやExcelファイルなどをデータソースとして使用することができ、JDBCやXMLの場合はSQLやXPathクエリの編集を支援する機能を利用することができる。

たとえばSQLの場合はSQLを直接記述するのではなく、テーブルやカラム、条件などを指定することでSQLを生成可能なウィザードが用意されているほか、実際にSQLを実行してどのようなデータが取得できるのかを試したりすることができる。

図4 : データセットの編集

作成したレポートは[ファイル]メニューの[エクスポート]-[JasperWave Report Designer]-[レポートのエクスポート]からPDF、HTML、Excelなど様々な形式でエクスポートすることができるため、プレビューだけでなく実際に生成されるファイルを確認することもできる(ただし、エクスポート機能はEclipseRCP版では利用できないようだ)。

図5 : レポートのエクスポート

まとめ

JasperWaveはiReportと比較すると機能面で劣る部分は見られるものの、レポートのデザインに必要な機能は揃っており、操作性もよい。JasperReportはJavaベースのアプリケーションに組み込んで使用するケースが多いと思われるが、Eclipse内で作業が完結するのは大きなメリットといえるだろう。現時点でiReportと比較して不足している機能については今後の充実を期待したい。

なお、補足になるが、本稿ではPleiadesで日本語化したEclipseにJasperWaveをインストールしたが、JasperWaveでは一部のダイアログやウィザードが固定幅で実装されているため、日本語化することで端が切れてしまったりする部分が見受けられた。そのため、JasperWaveを使用するのであれば日本語化せずに使用したほうがよいかもしれない。