基本のExcelデータテーブル読み書き方法について紹介します。
インプットとなるExcelを読み込み、内容を編集して書き出す、というものです。
例えば以下のようなExcelがあるとします。
上記の表のE列にC列とD列の値を足した数値を入れたいと思います。
(この程度であればもちろん関数でやった方が早いですが、あくまで簡単な例として…)
まず、Activities>Available>App Integration>Excel>Excel Application Scopeを選択します。
(このアクティビティが見つからなかった場合はパッケージを追加して見てください。【UiPath】パッケージを追加する方法)
そして、対象となるExcelのファイルパスを記入します。
続いて、Excel Application ScopeのDoの中にActivities>Available>App Integration>Excel>Read Rangeを入れます。
Propatiesは以下のように設定します。
Range:””(何も指定しないとデータがある部分から取得します。”B2″のようにセルを指定するとそのセルを起点として取得します。”B2:E5″のように設定するとその範囲のみを取得します。)
Sheet Name:取得したいデータのシート名
Add Headers:チェックあり(チェックすることでデータの1行目をヘッダーとして取得します。)
Data Table:DataTable型の変数(Ctrl+kまたは右クリックで簡単に作れます)
続いて、1行ずつデータを編集します。
Activities>Available>Programming>DataTable>For Each Rowを選択します。
DataTableには上で作ったDataTableの変数をいれます。
そして、Bodyの中にActivities>Available>System>Activities>Statements>Assignを入れます。
Propatiesは以下のように設定します。
To:row(“1+2”) (セットされる値)
Value:CInt(row(“数値1”))+CInt(row(“数値2”)) (セットする値)※CIntはint型(数値型)に変換しています。
Excelの数値1と数値2を足した値を”1+2″列にセットするという意味になります。rowでループしているので1行ずつ回っています。
最後にActivities>Available>App Integration>Excel>Write Rangeを選択します。
Propatiesは以下のように設定します。
DataTable:作成したDataTable型変数
SheetName:貼り付けたいシート名
Starting Cell:”B2″ (B2を起点としてデータを貼り付けます。)
Add Headers:チェックあり
※Starting Cellを”C2″、Add Headersをチェックなしでも同じ結果になります。ヘッダーを書き込むか書き込まないかの違いです。
これを実行すると、最初のExcelに以下のように出力されます。
これで基本のExcelデータテーブルの読み書きとなります。
今回は同じファイルに出力しましたが、もちろん違うファイルに出力もできます。
そのときはWriteRangeする前にExcelApplicationScopeを入れ直してください。
他の作業一覧はこちら