【JasperReports】JasperSoft Studioの使い方チュートリアル

JasperReportsを使ってPDFを作成するプログラムを作った時、まず帳票ツールのJasperSoft Studioの使い方で躓いたためメモ。

 

とりあえずデータベースから帳票にデータを引っ張り出す所まで紹介。ある程度動かすところまで行ければあとは自分でガチャガチャやって試せると思うので…。

 

※7/8追記:Javaから帳票を扱う手順についての記事を作成。

【JasperReports】Javaで帳票(PDF)出力をする - なにかのさしすせそ

 

目次

  1. JasperSoft Studioをインストール
  2. JasperSoft Studioを起動
  3. 新しいプロジェクトを作成
  4. フォーマットファイルの追加
  5. データアダプタの追加
  6. データの取得設定
  7. 帳票のレイアウト設定

 

 本文

1.JasperSoft Studioをインストール

以下URLから帳票ツールのJasperSoft Studioをインストール。

Jaspersoft® Studio | Jaspersoft Community

インストールの手順も書いた方が良かっただろうか…。

 

2.JasperSoft Studioを起動

 以下のような画面が開く。自分の場合は起動時に「JasperSoft Studio 6」と表示されていたと思う。

 

3.新しいプロジェクトを作成

●左上、File > New >  Project… を選択。

f:id:ksk428:20160303080211p:plain

●JasperReports Projectを選択。

f:id:ksk428:20160303080314p:plain

●適当な名前を付けてFinish。

f:id:ksk428:20160303080356p:plain

●プロジェクトが追加されたことを確認

f:id:ksk428:20160303080433p:plain

 

4.フォーマットファイルの追加

●追加したプロジェクトを右クリックし、 New > Jasper Report を選択。

f:id:ksk428:20160303080510p:plain

●適当に帳票フォーマットを指定(画像はA4横)してNext。

f:id:ksk428:20160303080600p:plain

●フォーマットを追加するプロジェクトとフォーマットのファイル名を指定してとりあえず【Finish】でOK。

f:id:ksk428:20160303080629p:plain

●フォーマットが追加されたことを確認。

f:id:ksk428:20160303080807p:plain

 

5.データアダプタの追加

●例としてMySQLを使用。サンプルデータとして以下のようなデータベース、テーブル等を用意した。

f:id:ksk428:20160303080913p:plain

●画面上部のNew Data Adapterを選択。

f:id:ksk428:20160303081023p:plain

●データアダプタを追加したいプロジェクトを選択、データアダプタの名前を設定しNext。

f:id:ksk428:20160303080949p:plain

●今回はMySQLからデータを取りだすので【Database JDBC Connection】を選択してNext。

f:id:ksk428:20160303081051p:plain

JDBC DriverはMySQLのものを選択。
 JDBC Url はサンプルで作ったものを設定。
 Username、PasswordはMySQLのものを設定。
 その後Driver Classpathタブを選択。

f:id:ksk428:20160303081136p:plain

●AddでMySQLコネクタ(例:mysql-connector-java-5.1.33-bin.jar)を設定しFinish。

f:id:ksk428:20160303081335p:plain

●プロジェクトにデータアダプタが追加されている事、Test Connectionが成功することを確認。

f:id:ksk428:20160303081438p:plain

 

6.データの取得設定

●対象プロジェクトのOutlineにて、最上位の項目で右クリック→Dataset and Query・・・を選択。

f:id:ksk428:20160303084030p:plain

●左上で先程作ったデータアダプタを選択

f:id:ksk428:20160303085929p:plain

●サンプルテーブルに対するSQLをとりあえず書いて、右上の「Read Fields」をクリック。

f:id:ksk428:20160303090018p:plain

●画面下部のFieldsにサンプルテーブルのフィールドが出たことを確認しOKをクリック。

f:id:ksk428:20160303090103p:plain

 

7.帳票のレイアウト設定

●「Static Text」で項目名を設定する。とりあえずColumn Headerに配置。

f:id:ksk428:20160303090420p:plain

●ダブルクリックするとテキストが編集できる。

f:id:ksk428:20160303090442p:plain

●「Text Field」でデータベースから取ってきた値を表示するエリアを設定。まずDetailに配置。

f:id:ksk428:20160303090511p:plain

●ダブルクリックして Expression Editor を表示。

f:id:ksk428:20160303090739p:plain

●"Text Field"を消してFieldsを選択。
ここで出てくるフィールドは6.でRead Fieldsしたフィールドである。

f:id:ksk428:20160303090800p:plain

●表示したいフィールドを選択しFinish。

f:id:ksk428:20160303090827p:plain

●同様に他のフィールド用のText Fieldを用意する。

f:id:ksk428:20160303090848p:plain

●「Preview」を選択してみる。

f:id:ksk428:20160303090909p:plain

●画像のような感じで、データベースに登録した内容が出力できていたら成功。

f:id:ksk428:20160303090926p:plain

 

ここまできたら、実際にPreviewを見ながらレイアウト変えたりSQLいじってみたりと色々試して学んでいけると思う。

 

プログラムから帳票を扱う方法については以下などを参考に。

JasperReportsで帳票出力してみた | Developers.IO

業務アプリの常識をJavaオープンソースで身につける(2):JasperReportsとiReportで帳票の常識を理解しよう (1/4) - @IT

[ThinkIT] 第4回:アプリケーションに組み込む (1/4)

 

プログラムから帳票を扱う部分でも四苦八苦したので、手順をまとめ次第公開したい(できるといいなあ)。

 

※7/8追記:Javaから帳票を扱う手順についての記事を作成。

【JasperReports】Javaで帳票(PDF)出力をする - なにかのさしすせそ