Excel データ出力ガイドブック
第 1.0 版 平成 30 年 9 月 1 日制定
株式会社
中電シーティーアイ
■変更履歴 版数 変更日 変更内容 1.0 2018/9/1 初版設定
目次
1 はじめに ... 1 1.1 本書の位置付 ... 1 2 Excel テンプレートの作成 ... 2 2.1 キーファイルの準備 ... 2 2.2 テンプレートエリアの宣言 ... 3 2.3 テンプレートに記述する内容 ... 5 2.3.1 利用可能なキー一覧に記載されているキーについて ... 5 2.3.1.1 データ一覧表示画面とデータ詳細表示画面の両方で使用可能なキー ... 5 2.3.1.2 データ一覧表示画面でのみ利用可能なキー ... 5 2.3.2 動的出力項目の定義 ... 6 2.3.3 コマンドの宣言 ... 7 2.4 帳票出力可能なアプリ部品の動的出力項目について ... 15 2.5 Excel 帳票テンプレートの設定 ... 191
1 はじめに
1.1 本書の位置付
想定読者:アプリ作成者本書は、イット builder で Excel の帳票を出力するために必要な Excel 帳票テンプレート(拡張 子: xlsx、xls)の作成方法について示す。Excel 帳票テンプレートは Excel を使用して作成する。 Excel 97-2003 ブック(xls)形式、Excel 2007- ブック(xlsx)形式のファイルが使用可能。
2
2
Excel テンプレートの作成
2.1 キーファイルの準備
・帳票作成に使用するアプリで帳票作成を行うデータベースを選択した「データ一覧表示画面」ま たは「データ詳細表示画面」を追加する。追加方法についてはアプリ設定ガイドラインをご確認く ださい。 ・帳票出力機能の利用を[利用する]に変更する。 ※画像はデータ一覧表示画面の例ですが、データ詳細表示画面でも行うことは同じです。 ・[帳票出力]をクリックする。 ・[利用可能なキー一覧]をクリックし、CSV ファイルをダウンロードする。 [利用する]をクリックする。 [帳票出力]をクリックする。 [利用可能なキー一覧]をクリックする。3
2.2 テンプレートエリアの宣言
・Excel のセルコメントに XLS Area を宣言(【テンプレートエリアの記述例】参照)して、動的出 力項目の有効範囲を設定する。 ・セルコメントの追加方法は、コメントを挿入したいセルを右クリック→「コメントの挿入」から 行えます。 ・テンプレートエリアの宣言は、シートごとに指定する。 ・コメントを挿入したセルから lastCell 属性で指定したセルまでが有効範囲となる。 (テンプレートエリアの記述例を参照)4 【テンプレートエリアの記述例】 ・上記例の場合、”A1”にセルコメントを追加しているため、有効範囲はセルコメントを追加し た”A1”のセルから、lastCell に指定した”C8”のセルまでが有効範囲になります。 jx:area(lastCell="有効範囲”) 例: jx:area(lastCell="C8") 有効範囲 "C8" されません 。 lastCell が有効範囲とな
5
2.3 テンプレートに記述する内容
2.3.1 【利用可能なキー一覧】に記載されているキーについて
キーにはデータ一覧表示画面でのみ利用可能なものと、データ一覧表示画面とデータ詳細表示画面 の両方で使用可能なものがあります。 2.3.1.1 データ一覧表示画面とデータ詳細表示画面の両方で使用可能なキー 「Field_D001」のように「Field_」で始まるキーが、データ一覧表示画面とデータ詳細表示画面の 両方で使用可能なキーです。各キーがどのデータと対応するかは、データベースの設定画面で確認 することができます。データ項目画面を表示し、データ項目の ID を確認してください。 データ項目の左上に記載されている文字がデータ項目の ID です。上図では部署名の ID は D001、社員番号は D002、氏名は D003、役職は D004 となっています。 キーの「Field_」に続く文字はデータ項目の ID と同じです。上図データベースの部署名は Field_D001 と対応し、氏名は Field_D003 と対応します。 「2.1 キーファイルの準備」でダウンロードした CSV には、データ項目の並び順に関係なくデー タID の小さいものから記述されています。 2.3.1.2 データ一覧表示画面でのみ利用可能なキー 「Field_」以外の文字から始まるキーがデータ一覧表示画面でのみ利用可能です。 データ項目の ID6 出力したデータ列の総数を表す「TotalNum」というキーと、検索機能を利用する設定には、実際に 検索で使用した語句を表示する「SearchFieldVal_****」(****は検索条件項目に設定したデータ項目 の ID) というキーの 2 種類があります。
2.3.2 動的出力項目の定義
・${...} という形式の式言語で、変数の埋め込みなどを宣言する。 ・${...}の式言語の前や後ろに、不必要な半角スペースが入っている場合、データが正しく反映され ない場合があるため注意してください。 【例1 受付データ(詳細項目)】 ${Field_D001} 日付 平成 30 年 8 月 2 日 合計金額¥27,054,000
${new("java.util.Date",Field_D006)} 合計金額 ${new("java.lang.Integer",Field_D007)}7
2.3.3 コマンドの宣言
・Excel のセルコメントにコマンドを宣言して、出力の操作をする。 ・Echo コマンド 【概要】コマンドで指定されたコレクションを繰り返し処理する。 (http://jxls.sourceforge.net/reference/each_command.html) 【記述例】jx:each(items="..." var="..." lastCell="..." direction="DOWN") 【主な属性】 ・Items 反復するコレクションのコンテキスト変数(プログラム側から渡す変数名)を指定する。 ・var Echo コマンドの有効範囲内で使用するコレクション要素の変数名を指定する。 ・lastCell Echo コマンドの有効範囲を指定する。 注意:出力対象の最終セルではなくヘッダーと同じ行のセルを設定 ・direction[省略可] "DOWN" または "RIGHT" を指定することによって繰り返す方法を決定する。 DOWN は行方向に、RIGHT は列方向に繰り返す。(デフォルトは"DOWN")
8
【例1_一覧表示画面の場合<行方向への繰り返し>】 対象データが繰り返しで挿入されます。
(A4 セルから) セルコメントに記述する Echo コマンド :jx:each(items="detailList" var="detail" lastCell="H4") 出力対象セルに記述するEcho コマンド : ${detail.Field_D001}
9
【例2_一覧表示画面の場合<列方向への繰り返し>】 対象データが繰り返しで挿入されます。(B3 セルから) セルコメントに記述する Echo コマンド
:jx:each(items="detailList" var="detail" direction "RIGHT" lastCell="B6") 出力対象セルに記述する Echo コマンド :${detail.Field_D001}
10 【例3_一覧表示画面の場合<枠固定パターン>】 対象データがセル指定で出力されます。 下記画像を参照した場合の、A4 セルから H10 セルまでセルコメントに記述する動的出力項目の有 効範囲 :jx:area(lastCell="H10") 注意:ここでの lastCell は一覧に出力させたい対象の最終列、最終行のセル№ 枠固定パターンの 時に出力対象セルに記述する Echo コマンドはデータ変数である。 「detailList(データ一覧表示画面)」に表示されているデータを指定して、Excel に出力していく かたちになります。 例3 は、一覧表示されているデータの上から何番目のデータを、決められたどのセルに出力させ るのかという場合に使用します。 参照方法は{データ変数[レコードの要素番号(0 始まり)].フィールド名}となります。
11
例:${detailList[0].Field_D001}、${detailList[0].Field_D008}
・データを出力したいセルに、出力したいデータの要素番号・キーを指定していきます。 参照方法は、${detailList[要素番号].キー} ・一覧表示画面で表示されている最上部のデータの要素番号が[0]になります。 その後、2 番目のデータの要素番号が[1]と続きます。
Echo コマンド : ${detailList [6] .Field_D001} 、 ${detailList [6] .Field_D008}
0 ,1, 2
12
【例4_データ詳細表示画面での関連データの場合<行方向への繰り返し>】 対象データが繰り返し挿入されます。(A4 セルから)
セルコメントに記述する Echo コマンド
:jx:each(items="RT1" var="detail" lastCell="C4") 出力対象セルに記述する Echo コマンド :${detail.RT1_Field_D001}
13 【例5_データ詳細表示画面での関連データ<枠固定パターン>】 対象データが上書きされます。(A4 セル~C13 セルまで) セルコメントに記述する動的出力項目の有効範囲 :jx:area(lastCell="C15") 注意:ここでの lastCell は一覧に出力させたい対象の最終列、最終行のセル№ 枠固定パターンの 時に出力対象セルに記述する Echo コマンドはデータ変数である 。 「detail(データ詳細表示画面)」に表示されているデータを指定して、Excel に出力していくかた ちになります。 例5 は、データ詳細表示画面で表示されている上から何番目のデータを、決められたどのセルに 出力させるのかという場合に使用します。 参照方法はデータ変数[レコードの要素番号(0 始まり)].フィールド名となります。
14 例:${RT1[0].RT1_Field_D001}, ${RT1[0].RT1_Field_D003} ・データを出力したいセルに、出力したいデータの要素番号・キーを指定していきます。 参照方法は、${RTx[要素番号].キー} x については、キーに含まれている RT 後部に付属している数字と同様の数字を指定。 利用可能なキー一覧より参照してください。 ・データ詳細表示画面で表示されている最上部のデータの要素番号が[0]になります。 その後、2 番目のデータの要素番号が[1]と続きます。 以上で Excel 帳票テンプレートを作成することができます。
Echo ${RT1[11].RT1_Field_D001} 、 ${RT1[11].RT1_Field_D003}
15
2.4 帳票出力可能なアプリ部品の動的出力項目について
・<データ一覧表示> 動的出力項目 テンプレート定義する式言語 備考 検索条件(検索機能の利用が「利用する」の場合のみ出力可能とする) 検索条件値 ${SearchFieldVal_【データ項目 ID】} 以下の項目種別の場 合に使用。 ・テキスト(1 行) ・ テ キ ス ト ( 複 数 行) ・択一選択 ・複数選択 ・ファイル ・自動連番 検索条件値 (開始終了) ${SearchFieldVal_【データ項目 ID】_START} ${SearchFieldVal_【データ項目 ID】_END} 以下の項目種別の場 合に使用。 ・数値 ・日付 検索条件値 (選択状況) ${get("SearchFieldVal_【データ項目 ID】_【選択肢名】")} 検索方式 ${SearchFieldType_【データ項目 ID】} 以下の項目種別の場 合に使用。 ・テキスト 単一行形 式 ・テキスト 複数行形 式 ・ファイル ・自動連番16
NULL 値 検索の有無
${SearchFieldNull_【データ項目 ID】} NULL 値検索をする 場合、当該検索条件 の検索条件値および 検索方式は常に空白 が出力される。 データ件数 データ件数 ${TotalNum} 受付データ(一覧項目)
※Echo コマンドを使用する。(items 属性:「detailList」) 一覧表示項目 ${【Echo#var】.Field_【データ項目 ID】} 例:${detail.Field_D001} 以下の項目種別 の場合に使用。 ・テキスト (1 行) ・テキスト (複数行) ・数値 ・日付 ・択一選択 ・複数選択 ・ファイル ・自動連番 一覧表示項目 (選択状況) ${【Echo#var】.get("Field_【データ項目 ID】_【選択肢名】 ")} 以下の項目種別 の場合に使用。 ・択一選択 ・複数選択
17 ・<データ詳細表示 および 帳票生成> 動的出力項目 テンプレート定義する式言語 備考 受付データ(詳細項目) 入力項目 ${Field_【データ項目 ID】} 以下の項目種別の場合に使用。 ・テキスト (1 行) ・テキスト (複数行) ・択一選択 ・複数選択 ・ファイル ・自動連番 選択項目 (選択されてい るかどうか) ${get("Field_【データ項目 ID】_【選択肢名】 ")} 以下の項目種別の場合に使用。 ・数値 ・日付 関連データ(一覧項目) ※Echo コマンドを使用する。(items 属性:「RT【関連データ連番】」)
18 関連データ入力 項目 ${【Echo#var】.RT【 関 連 デ ー タ 連 番 】_Field_【 デ ー タ 項 目 ID】} 以下の項目種 別の場合 に使用可能。 ・テキスト (1 行) ・テキスト (複数行) ・択一選択 ・複数選択 ・ファイル ・自動連番 関連データ選択 項目(選択され ているかどう か) ${【Echo#var】.get("RT【関連データ連番】_Field_【データ項目 ID】_【選択肢名】")} 以下の項目種 別の場合 に使用可能。 ・択一選択 ・複数選択
19