0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【UiPath】データテーブルを配列に変換する

Last updated at Posted at 2023-08-12

はじめに

次の構文により、UiPathでデータテーブルの特定列を配列に変換することができます。

dt.AsEnumerable().Select(Function(row) row("ColumnName").ToString).ToArray()

'// 設定項目 //
'dt:変換するデータテーブル
'ColumnName:配列に変換するデータテーブルの列名

本記事では、この構文を利用して、ExcelのリストからUiPathの入力ダイアログのプルダウンを作成する方法を紹介します。

image.png

使用するExcelのリスト

例として、季節一覧のExcelファイルを用意します。

季節一覧.xlsx
image.png

UiPathのシナリオ

image.png

①Excelファイルの読み込み
季節一覧のExcelファイルの内容をデータテーブルに読み込みます。

②入力ダイアログ
入力ダイアログの「入力オプションの配列」に以下のコードを入力します。

この処理で、データテーブルをString型の配列に変換して、季節一覧のリストを入力ダイアログに設定しています。

dt季節一覧.AsEnumerable().Select(Function(row) row("季節").ToString).ToArray()
'dt.AsEnumerable().Select(Function(row) row("ColumnName").ToString).ToArray()

'// 設定項目 //
'dt:変換するデータテーブル
'row:匿名関数の引数名。任意の名称を付けることができます。
'ColumnName:配列に変換するデータテーブルの列名

'// 構文説明 //
'AsEnumerable()
' データテーブルをDataRowオブジェクトのコレクションに変換します。
' 変換前の型:System.Data.DataTable
' 変換後の型:System.Data.EnumerableRowCollection[System.Data.DataRow]

'Select(Function(row) row("ColumnName").ToString)
' 匿名関数(ラムダ式)を使用して、
' DataRowオブジェクトコレクション(の指定した列の値)を
' String型のコレクションに変換します。
'
' 変換前の型:System.Data.EnumerableRowCollection[System.Data.DataRow]
' 変換後の型:System.Data.EnumerableRowCollection[System.String]
'
' 詳細
' DataRowオブジェクトコレクションの各値に
' Select()の中に記載した匿名関数の処理が行われます。
' 
' (1) 匿名関数の引数「row」にDataRowオブジェクトを格納
' (2) 匿名関数の引数「row」に格納したDataRowオブジェクトから指定列の値を取得
' (3) 指定列の値をObject型からString型に変換

'ToArray()
' String型のコレクションをString型の配列に変換します。
' 変換前の型:System.Data.EnumerableRowCollection[System.String]
' 変換後の型:System.String[]

実行結果

シナリオを実行すると、季節一覧のExcelファイルの内容がプルダウンに表示されます。

image.png

image.png

終わりに

以上、Excelのリストから入力ダイアログのプルダウンを作成する方法の解説でした。

地味な内容なのですが、UiPathの入力ダイアログの選択肢を変更する場合、Excelの設定ファイルでリスト管理すると便利なため、業務ではこの方法をとても重宝しています。

皆さんの業務にお役立ていただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?