UiPathのEXCELファイル読み込み、どのアクティビティを使えばいい?

By | 2018年7月29日

UiPathのEXCELファイル読み込み、どのアクティビティを使えばいい?

※2018.2以前のバージョンではこの記事で説明するアクティビティを利用する前にExcel用のパッケージをインストールしておく必要があります
また、当然ながらMicrosoft Excelがインストールされていないと利用できません。

これまで以下2つの記事の通り、EXCELファイルを読み込むための2つのアクティビティを紹介してきました。

Read Rangeを使う方法(ファイル全体を読みこむ)

Read Cellを使う方法(ファイルの一部を読みこむ)

アクティビティの使い方を覚えるのも重要ですが、これらをどのようなときに使うべきかも重要です。
いくつかのケースを参考にしながらどちらを使うのが適切か考えてみましょう。

1.Excel型のデータテーブル

TEST1TEST2TEST3
1あああ1000
2いいい2000
4ええええ4000
3うううう3000

上の通り、1行目に列名、2行目以降にそのデータが入っているパターンです。
これは「Read Range」で読み込んで、For Each Rowで繰り返し処理をするのが適切なことが多いかと思います。
仮に取る場所が確定している(たとえば2列目の3行目等)としても、こういった形の場合、
何行目に何が入るかというところまでちゃんと把握できていない限りは危ないでしょう。
そう言った可能性がある場合は読み込んだdatatable変数に対して、
For Each Rowで条件分岐をしたり、filter data tableを使うことをお勧めします。

2.Excel型の書類

いわゆるEXCEL様式という書類のような用途で使用するEXCELファイルになります。
人間の見た目では自然なのですが、実際の中身はセル結合、空白行、空白列などがぐちゃぐちゃで、
データとしては非常に扱いずらいです。
ただし、様式として項目そのものの場所が変わることは少ないという特徴もありますので、
こういった場合はRead Cellでセルごとに取得する方がよいでしょう。

というかそのままではRead Rangeではまともに取得できないと思われます。

項目が多すぎるなどで、変数をいちいち作るのがめんどくさくてRead Rangeしか使いたくないという場合は、
もう1つシートを作り、EXCELの数式でデータテーブルにすることで1行だけのテーブルとすれば、
Read Rangeでも扱うことは可能です。項目の位置が頻繁に動く場合もこういった対処が有効です。