💡
OutSystemsでExcelにプルダウンを出力する
OutSystemsでエクセルにプルダウンを動的に出力したい場面があったので、その方法をまとめたいと思います。
Excelのプルダウン
やりたいことはExcelでプルダウン(ドロップダウン)の選択肢を動的に出力することです。
Forge追加
OutSystemsでExcelを扱うにはAdvanced Excel
を使います。こちらは無料で利用可能です。
準備
Excelファイル
プルダウンを挿入するエクセルとして、ヘッダ行のみを記載したものを用意しておきます。
これをOutSystemsのResources
に登録します。
プルダウンに設定するデータ
今回はサンプルとして、次のようなEntity(テーブル)から取得した会社名(Name
)をプルダウンの選択肢に設定したいと思います。
Companyテーブル
物理名 | 論理名 |
---|---|
Id | 会社ID |
Name | 会社名 |
OutSystemsでエクセルを編集するにはServer Action
で実行する必要があります。
まず、AggregateでCompanyテーブルのレコードを取得しておきます。
Excelファイルを開く
エクセルファイルを操作するにはまず、Advanced Excel
のWorkbook_Open
を使いファイルを開きます。
次に操作対象のシートをWorksheet_Select
で選択します。
OutSystemsでの設定例
プルダウン追加
エクセルにプルダウンを追加するには、Advanced Excel
のWorksheet_AddDropdown
を使います。
項目 | 意味 | 値の例 |
---|---|---|
WorkSheet | プルダウン挿入シート | Worksheet_Select.Worksheet |
CellRange | プルダウン挿入セル | "A2" |
ItemsList | プルダウンの選択肢リスト | GetCompanies.List |
Item.Text | 選択肢のテキスト[1] | Company.Name |
Item.Value | 選択肢の値[2] | Company.Name |
後始末
エクセルファイルをServerActionのOutput Parameterとして返すには、バイナリデータを取得して値を設定します。
Output Parameterに設定する例
最後にWorkbook_Close
でエクセルを閉じて終了です。
Excelを閉じる
まとめ
エクセルに動的にプルダウンを設定する方法を確認しました。Advanced Excel
のWorksheet_AddDropdown
を使うと、任意のセルに動的にプルダウンを挿入できます。
Discussion