UiPathのStudioXのアクティビティ「CSVにエクスポート」を紹介しています。

 

やりたいこと

↓図のようなエクセルファイルがあるとします。

このデータをCSVファイルとして出力したいというのが今回のやりたいことです。

 

1.エクセルファイルを利用する設定をする

まず、エクセルの操作を行うためには絶対に必要な「Excelファイルを使用」というアクティビティをドラッグアンドドロップします。

 

そして、フォルダのアイコンより、利用するエクセルファイルを選択します。

この時、特にプロパティ等の設定は不要です。

2.「CSVにエクスポート」を追加する

Excel>範囲 より、CSVにエクスポート というアクティビティを追加します。

 

1.書き込み先ファイルを指定する

書き込み先ファイルには、CSVファイルの名称も含む、フルパスを指定しましょう!

以下のように、aaa.csvというファイルを出力するためには、

C:\main\60_HP\人事情報サンプル\aaa.csv

と入力します。フルパスですよ!

 

2.書き込み元を指定する

どのファイルの情報を書き込むか?というのを指定します。

ここでは、前述のフォルダより、「20220120.xlsx」を指定したいと思います。

書き込み元の右にある+から、Excel>Excel内で示す を選択します。

 

すると、対象のエクセルファイルが開かれます。

そして、データが入っている行の左上をクリックします。ここではA1です!

 

さいごに、リボンの中の、UiPath タブより、確認をクリックします。すごい親切。

 

確認ボタンをクリックすると、書き込み元に「[Excel]Sheet1!A1」と記載されました!

この[Excel]というのは、1.で定義した参照名が入ってます。

 

分かりやすく、人事情報エクセルとすると、以下のように変更されました。分かりやすい!

 

これで設定完了です!

実行すると、CSVファイルが作成されます!

 

その他注意点と調べたこと

Excelに数式があるケース

エクセルファイルの中に数式があっても、表示されている文字を取得し、CSV化してくれるようです。

例えば、以下のケースでは、年齢を表示するためにI列に「datedif」関数を使っています。

 

セルの表示設定がなされている場合

以下のように生年月日の表示形式を変更してみました。

実行された結果は以下です。yyyy/mm/dd形式はちょっと順番逆転しました。このあたり、注意ですね!

 

ヘッダー行の上や左に大きく間がある場合

どういうケースなんだと・・・。百聞は一見に如かずです。以下の図をご覧ください。

エクセルファイルのヘッダー行が宙に浮いています。

 

この時、CSVにエクスポートの書き込み元を「Sheet1!A1」から「Sheet1!E4」に変更するとうまくいきます。

データの入っている左上のセルを指定するだけで、右下までを一つの範囲とするのです。すごい・・・!やるやん・・・!

空白の入っていないCSVファイルが出来上がりました!

 

 

さいごに

CSV出力についてもアクティビティ一つできるのが便利ですね・・!

こちらもぜひ使ってみてください!