EXIO (Excel Input/Output)
最終更新日: 2022年6月16日
Excelで作成した見積書の雛形を示します。Wagbyアプリケーションで、新規登録時および更新時に、このExcelファイルに値を書き込むようにします。
Wagbyで作成した見積モデルの新規登録画面です。
各項目に値を入力します。ここで「読み書きExcel」項目に、見積書の雛形ファイル(図1)を登録します。
データを登録しました。このタイミングで、見積書雛形に値が書き込まれます。
Excelファイルをクリックするとダウンロードできます。このファイルを開いて内容を確認できます。
2つのモデル「見積」と「見積内訳」を用意します。見積内訳は子モデルとなり、明細部を管理します。
見積モデルに用意した項目は次の通りです。「読み書きExcel」項目は、Excel操作ブロックで利用する対象項目です。
見積モデルの画面レイアウト設計(詳細、登録、更新画面)を示します。
もう一つの、子モデル部となる見積内訳モデルに用意した項目は次の通りです。親子モデル同時更新画面機能を使い、見積モデルと同時に登録や更新を行います。
外部キー項目「親見積ID」は、親モデル(ここでは「見積」)を指定します。
同じく外部キー設定として、親の主キー(ID)と "等しい" 条件で紐づくものとします。
見積内訳モデルは一覧画面のレイアウトを設定します。ここでは1つのデータを2行にまたがって表示するレイアウトとしています。
今回は見積データの登録時に、用意したExcelの見積書へデータを書き込むとします。
「外部連携」ブロック群に用意された「Excel」ブロックを使います。
登録時のタイミングで、指定したファイル項目(今回は「読み書きExcel」項目)に添付されたファイルへの書き込みを指定します。
「外部連携」ブロック群に用意された「マッピング」ブロックを使います。
Excelブロックのマッピング位置に、マッピングブロックを配置します。
マッピングブロックは「項目」をどの「シート」のどの「セル」と対応づけるか、を指定します。
このマッピングは複数指定できます。右クリックで複製操作を行います。
子モデルのマッピングは書き込みのみ対応しています。(読み込みでは子モデルを指定することはできません。)
子モデル「見積内訳」のマッピングを行うこともできます。Excelブロック群から「子モデル」ブロックを選びます。
Excelブロックの子モデル部に配置します。
子モデルのマッピングは必須ではありません。未セットの場合は、子モデルのマッピングは行いません。
子モデルデータの部分に、対象の子モデルのデータ取得ブロックを配置します。文字列ブロックを使ってシート名も指定します。
さらに子モデルが開始される(Excelの)開始行を、数値ブロックを使って指定します。
1データの行数を指定することもできます。未指定時は
子モデルのマッピングを行う「項目」ブロックを選びます。
マッピング位置にブロックを配置します。
モデルブロック群から子モデルを指定するブロックを選びます。
子モデルのブロックと、対応するセルを関連づけます。
ブロックを複製し、複数の対応ルールを設定できます。
親モデル「見積」に関するマッピングルールを設定しました。
子モデル「見積内訳」に関するマッピングルールを設定しました。
全体の構造を示します。
見積モデルの更新のタイミングでも、同じブロックを用意します。これによって登録時と更新時に Excel ファイルを更新します。
Excelブロックを "読込む" とすると、添付された Excel ファイルの内容から Wagby のデータを生成します。
登録画面で利用者が入力していた値は、Excel ファイルの内容に上書きされます。
読み込み処理は、子モデルには対応していません。今回の例では、見積モデル部分のみ読み込みできます。(見積内訳部分は読み込まれません。)子モデルマッピングの部分は空白としてください。
書き込み
ダウンロード
実行例
モデルの設計
スクリプト
子モデルのマッピング
注意
子モデルのマッピングは行わない
1
になります。今回使うExcelの雛形ファイルは、子モデル部は2行で1データとなっているため、ここに2
を指定します。
このとき、:1
を付与することで次の行のデータを指定できます。これは「指定セルの1行下」を意味します。(X:0はXと同じ)
指定できるのは0以上の数値です。
読み込み
子モデルは未対応
仕様・制約