eightban's memo

残しておきたい記事をまとめてみました。

JasperReports

Jaspersoft Studioの簡単な帳票の作成 ~  JasperReports

投稿日:

Jaspersoft Studioは英語、イタリア語しかありませんが、方法を覚えれば作成は可能です。

どんなデータを読み込んで、どのようなレイアウトにするを考え構築していきます。

プロジェクトの作成

File->New->Project を選びます。

 


JasperSoft Studio -> JasperReports Project を選び次へ

 


 

プロジェクト名をいれてFinish

 


 

Project Exploreタブを選び、先ほど作成したプロジェクトを見つけます。

 


 

Windowsのエクスプローラーで見ると、フォルダの実体が作成されていることが分かります。

レポートレイアウト作成

左のProject Exploreの中の先ほど作成したプロジェクトを右クリック。

New -> JasperReport を選びます。

もしくは、先ほど作成したプロジェクトを選び「CTRL+N」するとNewのSelect Wizard画面が開きますので、Jaspersoft Studio -> Jasper Reportを選び Next

 


 

ここで用紙の設定です。綺麗なテンプレートもありますが、何も書いていない「Blank A4」を選びます。

 


 

レポートファイル名(jrxml)を入れて、Finishを押します。データアダプターでデータソースを設定している場合はNextを選びます。実は後々面倒なので、事前にデータアダプタの設定をしておき、ここでデータソースを設定しておいたほうが良いと思います。


 

少し時間はかかりますが、リポートファイルが出来上がります。

レポートには次の領域がありますが、不要なものは消すことができます。

  • Title ・・・ 全体のタイトル
  • Page Header ・・・ ページ数、ページごとのタイトルなど
  • Column Header ・・・ 項目名
  • Detail1 ・・・ 明細
  • Column Footer
  • Page Footer ・・・ ページ数など
  • Summary

データアダプタ作成

左のProject Exploreの中の先ほど作成したプロジェクトを右クリック。

New -> Data Adapter を選びます。


 

データアダプターのファイル名を入れてNext


 

今回はCSVファイルを使用しますので、CSV Fileを選びNext


 

 

Fileを押すと、ファイルダイアログが開くので読み込むCSVファイルを選びます。

 

タイトル行を項目名として使ってくれるのですが、シフトJISの場合は文字化けします。

そのため、TerapadなどでCSVファイルの文字コードをUTF8にして再読み込みします。

今回はファイル名も変えました。

 

文字コードをUTF8にしたので、EncodingをUTF-8にしてFinish。ここでS-SJIも選択可能です。

データアダプターのファイルができました。

レポートとデータアダプターの紐づけ

レポート上に固定項目(Static Text)、動的項目(Text Field)を追加していくのですが、このままでは動的項目にCSVの項目を関連付けすることができません。

この時点ではFieldの項目には何もありません。

画面左下のOutlineからレポートファイル名を選び右クリック。出てきたメニューの「Dataset and Query」を選びます。


 

No Data Adapterを選び、先ほど作ったデータアダプターNew Data Adapter1を選びます。

 

 

そして、「Read Fields」を押します。

 

項目が追加されましたのでOKを押します。

Outlineにも項目が追加されました。

レポートへの配置

ここからレポートへ項目を配置していきます。よく使うのは次のものです。

  • 「Static Text」・・・固定文字を入れるもので、静的項目です。
  • 「Text Field」・・・CSVやデータベースの文字や数値を入れる動的項目です。

TiTleの領域にText Fieldをドラッグアンドドロップします。

 


 

文字を大きくしたので、先ほど配置したStatic Textを選んだ状態で画面右下のPropertiesを操作します。メニューが隠れているので右側の「>>」からlabel Static Textを選びます。

 


 

Fontの文字サイズを20にしてみました。文字が大きくなったのが分かります。

 


 

Static Textをダブルクリックし、タイトルを「納品書」に変えました。

 


 

次はText Fieldです。先ほどのStatic Textと同様に右のメニューからドラッグアンドドロップすることもできますが、明細行にタイトルをつけるのに簡易に行う方法があります。

OutLineのFieldsにある項目を選びDetail1にドラッグアンドドロップすると項目名、項目が両方入ります。簡単ですね。

 


 

このような感じ配置されました。


 

 

通常のText Fieldの設定の方法は設置したText Fieldをダブルクリックするとこのような画面が出て来ます。この画面から結び付けたい項目をFields -> [項目名]で選びます。

 


 

明細の幅があるので、Column HeaderとDetail1の幅を狭くします。やり方は領域と領域の間にある線上にマウスを置くと上下の矢印が出てきます。左クリックを押しながら矢印を移動させます。

 


 

一旦、Previewタブを選び、印刷イメージを確認します。


 

Basic Elementsの「Line」をColumn Headerの下に入れてみました。


 

一行目のタイトルはスキップしたいので、DataAdapterの設定を変えます。

「Skip the first line」にチェックを入れます。Previewでうまく反映されない場合は再起動すると良いです。


 

このようなレポートになりました。


 

JasperSoft StudioからPDFも作成できます。

上部のJAVAになっている部分をPDFにすると、tempフォルダにPDFが作成されます。

 

 


 

 

ただし、このままでは日本語が表示できませんので、設定変更する必要があります。

 

-JasperReports

Copyright© eightban's memo , 2018 All Rights Reserved Powered by STINGER.