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