LoginSignup
18
27

More than 5 years have passed since last update.

UiPathでRPAを実践してみる(2) ~Excelを使ってみよう!~

Last updated at Posted at 2017-06-20

さて、Hello Worldが出来たところで次はExcelの操作について書いていきましょう。
Excelの入出力がプログラムっぽく出来るのもUiPathの良いところです。
例題としてExcel化されたQiitaの投稿の一覧を「いいね」の順に並び変えてCSVに出力する、という事をやりたいと思います。
具体的な手順を書いていきます。

1.Excelを使う為のパッケージをUiPath Studioにインストールする

 デフォルトではUiPath StudioにExcelを操作するためのActivityがインストールされていません。
 パッケージの追加から始めましょう。

 ①ActivityペインのManage Packagesを選択します。
 キャプチャ.PNG

 ②Manage Packagesが表示されたらAvailableを選択し、UiPath.Excel.Activitiesをインストールしましょう。
 キャプチャ2.PNG

 ③ActivitiesにExcelとCSVが追加されたのを確認したら完了です。
 キャプチャ3.PNG

2.Excelファイルを開いてみる

 さて、こちらはQiitaのページの情報をExcel化したものです。実はこのデータもUiPathのdata scrapingという技術を使って作成したものです。(手順の詳細を記述した記事はこちら。)
 カラムとしては、タイトル・URL・いいねの数を持っています。
 ※取得元のページ
 キャプチャ4.PNG

 ※ページから情報を取得した結果のExcel
 キャプチャ5.PNG
 入力としてはこのデータを使っていきましょう。

 Excelファイルを開くには、Excel application scopeというActivityを使います。
 Inputは開きたいExcelのPathになります。プロジェクトフォルダの相対パスも使えますし、絶対パスでもOKです。
 データを取り出すにはRead cellまたは、Read RangeというActivityを使います。今回はRead Rangeを使っていきましょう。
 各Activityをドラッグ&ドロップで登録していきます。Read RangeExcel application scopeの中にドロップしてください。
 完成形は下記の様になります。
キャプチャ6.PNG

 これは、UiPathのプロジェクトフォルダにある、test.xlsxというファイルを開いて、"sheet1"にあるデータを全て取ってくる、という命令になります。
 Read RangeのRangeが""となっています。この様に何も指定しない場合はシート全体をコピーする、という命令になります。
 逆に"A1:B100"と書けば、A1セルからB100セルまでをコピーする、という命令になります。
 Outputの型はdatatableです。VB.netを使われている方にはおなじみですよね?
 ここではexcelDataという変数を定義して、その中にExcelから取得したデータを格納しています。

3.データを並び替える

 これは、UiPathというよりもVB.netのノウハウになります。AssignというActivityを使ってデータを並べ替えていきましょう。
 このAssignはプログラムでいうと、=の役目を果たします。
 ①上記で作成したexcelDataDataViewに変換します。まず、Assignを追加して下記の様にします。
  ①-1 DVという名前のDataView型の変数を定義する。
  ①-2 DVを左辺にして、右辺にはnew DataView(excelData)とします。これにより、上記のexcelDataがDataView型になります。
 キャプチャ7.PNG

 ②上記で作成したDV.sortで並び替える。
 キャプチャ8.PNG

4.CSVにファイル出力する

これにはwrite CSVというActivityを使用します。これも、出力先のファイルはプロジェクトフォルダから見た相対パスでも絶対パスでも指定可能です。
 下記の場合は、プロジェクトフォルダ直下にsortAfter.csvというCSVファイルを作ってこれを書き出す処理になります。
 ちなみに、ファイルが存在している場合は上書き、存在していない場合は新規でファイルを作成してくれます。
 3のステップで作成したDV.ToTableでdatatable化すればそのままデータを吐き出してくれます。(便利)
 キャプチャ9.PNG

 完成形がこちらです。
 キャプチャ10.PNG

上手く、「いいね」の数順にデータを吐き出すことができました。

ExcelとWebの連携は使い勝手が良さそうなので、色々と応用できそうですね。

次はWebの操作について書こうかと思います…

18
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
27