最終更新日: 2010/01/06

XSL Report Designer レポート設計サンプル

XSL Report Designerでどのようなレポートのレイアウト設計ができるか、またその印刷出力がどうなるかをサンプルで紹介します。ここにご紹介したサンプルファイルは、XSL Report Designerの評価版に含まれています。評価版をダウンロードしてインストールすることで実際にお試し頂くことができます。

以下の文章で、Formatterは、XSL Formatter V4.0以上、またはAH Formatter V5.0以上を意味します。

サンプルファイル一覧

XSL Report Designer では、以下の3種類のレイアウト設計ができます。

レイアウトタイプサンプルプロジェクトファイル サンプル XML ファイル
固定型 Jorder-fix.rxl / Jorder-fix2.rxl Jsample-data.xml
フロー型 Jorder-flow.rxl
タックシール Jlabel.rxl

また、以下の機能を使用したサンプルも用意いたしました。

機能 サンプルプロジェクトファイル サンプル XML ファイル
バーコード Jbarcode-flow-repeat.rxl Jbarcode-data.xml
Jexp-sample1.rxl
Jexp-sample2.rxl
Jsample-data.xml
Jseiseki.xml
コントロールブレイクとまとめ Jc-break.rxl Jctrl-break.xml
ソートとグルーピング Jsort-group.rxl Jsort-group-data.xml
動的な属性変更 Jdyna-prop-fix.rxl
Jdyna-prop-flow.rxl
Jdyna-prop-order-flow.rxl
Jdyna-prop-seiseki.xml
Jdyna-prop-seiseki.xml
Jsample-data.xml

それぞれのサンプルでは、以下の機能も使用されていますので併せてご覧ください。

機能 説明
レポートヘッダ・レポートフッタ レポートヘッダやレポートフッタを指定できます。
ページヘッダ・ページフッタ ページヘッダやページフッタを設定できます。
文字スタイル(フォント、太字、斜体、サイズ、下線、文字色) それぞれのオブジェクトのテキストに、文字スタイルを指定できます。
背景色 オブジェクトに背景色を設定できます。
文字配置・行配置 水平方向、垂直方向の、文字の配置を設定できます。
枠線 (スタイル、幅、色) 各オブジェクトの枠線の形を指定したり、幅や色を設定できます。
縦方向・横方向の総合計や、現在日付、ページ番号やページ番号などを、式を使って設定できます。
属性式 オブジェクトの属性(文字色や背景色など)を、属性式を使って動的に変更できます。

「固定型」レイアウトタイプ

「固定型」レイアウトは典型的な帳票のためのレイアウトで、固定位置に固定サイズのオブジェクトを配置し、その中にデータを印刷するタイプです。

サンプルプロジェクトファイル(Jorder-fix.rxl)

「Jorder-fix.rxl」は固定型レイアウトのプロジェクトサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

sample-fix1

  • テキストオブジェクトには種別が「スタティック」と「フィールド」の2種類があります。
  • [プロパティ]ウィンドウの[種別]で「スタティック」を指定すると、XSL Report Designerで入力した文字が印刷出力されます。
  • サンプルファイルでは、「注文書」「アンテナハウス株式会社」などがスタティックです。
  • 「フィールド」を選択すると、印刷対象XMLデータの中からXMLパスで指定されたXML要素の内容が埋め込まれます。
  • サンプル文書では、「テーブル種別」に「固定」が指定され、指定された行数(8行)・カラム数(6列)が常に表示される表が作成されています。
  • テーブルオブジェクトを新規で入力する際は、「テーブル設定」ダイアログが表示されます。
  • これらの設定は、[オブジェクト]メニューの、「テーブル編集」「設定」の「テーブル設定」ダイアログで確認できます。

出力結果(画面)

Jsample-data.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-fix2

  • 「フィールド」を指定した部分には、対応するXMLデータが埋め込まれています。
  • 固定型のテーブルは、埋め込まれるデータの数に関わらず、常に指定された行数・カラム数で表示されます。
  • XMLの繰り返しパスで指定した要素が8レコード分ある場合は、8行が埋まります。
  • 8行分以上のデータがある場合は、9行目以降は印刷されません。反対に、8行以下のデータの場合、
  • たとえば、3レコード分のデータがあれば3行が埋まり、残りの行は空行になります。これは、
  • この表が、印刷されるデータに依って自動的に伸縮しない「固定型」の表のためです。

サンプルプロジェクトファイルその2(Jorder-fix.rxl)

別のプロジェクトファイル「Jorder-fix2.rxl」のように複数のページで、データベースでいう1レコード分を構成することもできます。たとえば、注文書の1枚目は概略、2枚目は明細といった帳票を作ることができます。

出力結果(画面)

Jsample-data.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-fix2a

「フロー型」レイアウトタイプ

「フロー型」は埋め込むデータによって、オブジェクトが伸縮するタイプのレイアウトです。

サンプルプロジェクトファイル(Jorder-flow.rxl)

Jorder-flow.rxl」 は、フロー型レイアウトのプロジェクトのサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

sample-flow1

  • このサンプルには、5つのフレームがあります。
    • 1つめは「会社概要」のフレーム。
    • 次のフレームは 「販売実績」のスタティック文字が入っているフレームです。
    • 3番目、4番目、5番目のフレームは、「サブリピート」(「メインリピート」の中で更に繰り返されるリピートを「サブリピート」と呼びます。)の中にあります。これらは、それぞれのオーダー情報を表示します。
    • 最初の2つのフレームは一度だけ表示され繰り返されることはありません。残りの3つのフレームはXMLパスの指定に従って、要素の数だけ繰り返されます。
  • またここでは、テーブル種別に「可変」が設定されています。この可変型テーブル6列が指定されており、行数はXMLデータに依存して増減します。

出力結果(画面)

Jsample-data.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-flow2

ご覧のように、データの数によって表の行数が伸縮しています。その伸縮にあわせて、以降のオブジェクトの位置も動きます。

「タックシール」レイアウトタイプ

「タックシール」は、「固定型」とよく似ていますが、大きな違いは、ページを縦・横に分割して、その1つの領域にオブジェクトを配置することです。この領域をラベルといいます。

サンプルプロジェクトファイル(Jlabel.rxl)

Jlabel.rxl」は、「タックシール」プロジェクトのサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

sample-label1

  • サンプルファイルでは、ページが5行、2列に分割されています。この設定は、[ファイル]メニューの「用紙設定」から「用紙設定」ダイアログを開き、「用紙分割」で設定します。

出力結果(画面)

Jsample-data.xml」このプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-label2

「バーコード」

バーコードを印刷するには、バーコードオブジェクトを使用します。バーコードのフォントやタイプを指定することにより、簡単にバーコードを表示することが可能です。

注意:
XSL Report Designer で作成されたプロジェクトファイルでバーコードを印刷(表示)するには、 「XSL Formatter バーコードオプション」、 または、 「AH Formatter バーコードオプション」 が必要です。 ご使用前に、Formatterと共に、これらバーコードオプションがインストールされていることをご確認ください。

サンプルプロジェクトファイル(Jbarcode-flow-repeat.rxl)

「Jbarcode-flow-repeat.rxl」はバーコードを使ったプロジェクトのサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

sample-bar1

出力結果(画面)

Jbarcode-data.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-bar2

「式」のサンプル

式を設定することにより、複雑な数式を行ったり、また現在日付やページ番号などを自動的に出力することなどが可能です。

サンプルプロジェクトファイル(Jexp-sample2.rxl)

「Jexp-sample2.rxl」は式を使ったプロジェクトのサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

このサンプルでは、以下の組込関数を使用しています。

  • hAvg
  • totalSum
  • date
  • time
  • currentPage
  • totalPages
  • dateCalc

sample-exp1

出力結果(画面)

Jseiseki.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-exp2

「コントロールブレイク」と「まとめ」

サンプルプロジェクトファイル(Jc-break.rxl)

「Jc-break.rxl」は「コントロールブレイク」と「まとめ」を使ったプロジェクトのサンプルです。プロジェクトをXSL Report Designerで開くと次のような画面が表示されます。

sample-control_break

出力結果(画面)

Jctrl-break.xml」をこのプロジェクトファイルを使ってFormatterでページアップすると、以下のように表示されます。

sample-exp2


Copyright © 1996-2010 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.