はじめに
UiPathを利用してExcelファイルを読み込む(範囲を読み込み等)とDataTable型の変数に読み込まれます。
このDataTable型ですが、非常に扱いにくく、特にDataTableの中の一つのデータだけを変更して再出力するといったことが苦手です。
ここでは特定の列に対して編集を加えるといった手順を説明します。
※応用すれば特定のデータだけを編集するといったことも可能です。
手順概要
①Excelファイルを読み込む等でDataTable型を作成。
②何行目を編集しているかカウントするための変数を用意し、0をセットする。
③【繰り返し(データテーブルの各行)】を用いて作成したDataTableの各行をCurrentRowで繰り返す。
④代入を用いてCurrentRowの特定の列情報を一時保存し、編集する。
⑤【行項目を更新】を用いて②で作成した変数と①で作成したデータテーブルを用いて、④のデータを用いて更新する。
⑥処理終了後、②のカウント変数を+1する。
⑦上記③~⑥をデータ行の数だけループする。
実装例
ここではポイントとなる⑤の箇所について説明します。
ここで
・x=CurrentRow(0).ToStringで繰り返し処理を行っている行の0列目(1つ目のデータ)を取得し、それを編集しています。
・testが元のデータテーブルです。
・countは今何行目の処理かというカウントです。(初期値0)
上記のように設定すると、test(行数)の0列目のデータが変数xの値に更新されます。
これを繰り返すことで特定の列のデータをすべて更新することができます。
サンプルワークフロー
サンプルワークフローを作成しました。参考にどうぞ。(Community版2023.10.0で作成)
ダウンロード
コメント