UiPathのExcel操作について質問です。

複数のカラムから成り立っているテーブルデータにデータを格納いたしました。

当該テーブルデータの特定列(カラム)をExcelに出力したい場合には「セルに書き込み」を繰り返し行い、1セルづつ書き込む方法しかないのでしょうか?
※下記画像を載せましたのでご確認ください。

テーブルデータのカラム(列)とExcelの列を指定し、一括で出力することができないか確認でした。

どうぞよろしくお願いします。

1)複数のカラムから成り立っているテーブルデータから、別のDataTableに代入アクティビティを使ってコピーします。

左辺:NewDataTable
右辺:複数のカラムから成り立っているテーブルデータ.copy
★.Copyがないと、右辺を操作すると、左辺にも影響あるため

2)NewDataTableから必要な列以外を「列の削除」アクティビティで削除する

3)NewDataTable上の残った列をEXCELに出力する、

これを1)~3)必要回数実施する。

ってのはどうでしょう?

Filter Data Tableアクティビティを用いると、列の並び替えや抽出を行うことが出来ます。
Output Columns で、抽出したい列の名称または位置(0以上)を入力すれば、その列のみが保持されたDataTableが、Output DataTableで指定した変数に格納されます。

image

1 Like

下記①で特定のカラム(例えばカラム1だけ)を出力したDatatableを作成し
②で一気に対象のExcelファイルに出力できます。

①データテーブルをフィルタリング(Fileter Data Table)
②範囲に書込み(WriteRange)

[列を読み込み] アクティビティを使うという手もあります。。。と思ったのですが、

列を取得した結果が配列( IEnumerable(Object) )で戻ってきて、
最終的にExcelに範囲出力するには [範囲に書き込み]を使うしかなくて、
これはDataTable型にしないと出力できないから、

( IEnumerable(Object) ) ⇒ DataRowに変換 ⇒ CopyToDataTable() してあげないと
一発で貼り付けできないのですね。。。

1 Like

ご回答ありがとうございます。
こちらの方法で試したところ実行できました。
実際のデータテーブルには25項目のデータがあるため必要な列を Filter Data Table アクティビティを用いて抽出後エクセルに書き出す方法を採用いたしました。
ご回答ありがとうございました!!

ご回答ありがとうございまいた。
Filter Data Table` アクティビティを用いて抽出後、エクセルに書き出す方法にてうまく実行することができました。
ご回答ありがとうございました!!

ご回答ありがとうございました。
ご教示いただいた内容にてうまく動作させることができました。
ありがとうございました。

いろいろな方法があったかと思います。

参考になった書き込みの「解決策」にチェックをお願いしますね