CSVファイルの特定列を列ごとExcelにコピーしたい

CSVファイルの特定列(例えば2列目)をまるごとExcelシートへコピーしたいのですが、For Each Rowアクティビティで1行づつコピーするしか方法はありませんでしょうか。
もしくは、Recording機能に頼るしか方法はありませんでしょうか。

対象のCSVファイルの行数が1000行を超えるデータ量であるため、For Each Rowで1行づつコピーする方法をあまりとりたくありません。

Read CSVアクティビティにてデータをテーブルに格納し、Excel application scopeアクティビティにて対象のExcelを開き、その先がFor Each Rowしか方法がないのか悩んでおります。

何か良い方法がないか、ご教授いただけませんでしょうか。

方針としては、read rangeで取得したdatatableに対して、

  1. 特定の列のみ取り出す(1列×n行のdatatableを作るイメージ)
  2. 1で取り出したものをwrite rangeで指定のセルに出力する

という感じではどうでしょうか?

1の特定の列を取り出す方法についてはVB.NETの範囲です。
参考URLとして以下をあげておきます
http://blog.syo-ko.com/?eid=1587

1 Like

アドバイスありがとうございます。

方針としては、全然問題ないと思いますが、恥ずかしながら如何せんVB.NETの知識が薄っぺらいので、UiPathでどのようにアクティビティを構成すれば良いのか良くわかりません。すいません。

どのアクティビティを使用して、どのように設定するのかをご教授いただけますと幸いです。

その後、色々とネットを探っていたところ、Write RangeアクティビティのDataTableを入力する箇所に
「“出力したいデータテーブル”.Select(“出力条件”).CopyToDataTable.DefaultView.ToTable(False,“列名1”,“列名2”,“列名3”・・・・)」
※()内のFalseは重複する値も出力するか
と記載することにより、列ごとコピーすることができました。

色々とご対応ありがとうございました。

1 Like