【はじめてのUipath】Excelからデータを取得し、いろいろしてから出力する

UipathでExcelでデータを取得し、いろいろしてから出力してみましょうー！

データを取得するだけなら結構簡単にできるんですけど、
必要な情報だけを取得したり、整形したりするところでいろいろつまづいてしまったので、メモがてらに残しておきます！

Excelはこんなファイルを用意してみました。

![メンバー.csv - Excel 2019_05_09 10_17_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/64b73602-15f6-9300-016a-ca1719d4a337.png)


**今からやることは、このエクセルファイルの野球部の人だけを抽出し、出席番号と苗字を出力することです。**

# 1. アクティビティパネルからシーケンスを追加する

今回はシーケンスで実装していきます！

![UiPath Studio - 空のプロセス 2019_05_08 18_04_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/52bb6927-1a0a-605d-400c-42b66eb11c9b.png)

# 2. アクティビティパネルからcsvを読み込むを追加する

![UiPath Studio - 空のプロセス 2019_05_08 18_05_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/084ea9e8-6f3b-f6f7-79bc-1c9c887acdc9.png)


## 2-2. エクセルファイルのパスを指定する

人によって違うので気を付けてください！

![UiPath Studio - 空のプロセス 2019_05_08 18_14_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/f04c01b2-0fde-8990-4f58-a2688bd7acad.png)

## 2-3. 出力データを変数にいれる

プロパティパネルの「出力」部分にカーソルをあてて、Ctrl + Kを押しましょう。
その状態で、「Members」と打ったら、変数も自動で定義してくれます！

![スクリーンショット (34).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/0718a185-451e-2811-ad68-e9d43b45233d.png)


# 3. 野球部の人のみを抽出する

まずは、アクティビティパネルから「代入」を持ってきます。

![スクリーンショット (35).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/e8c3a7b8-6f68-ead5-d220-077bdd5a1967.png)


## 3-1. 代入のプロパティを埋めよう！

右辺値に`Members.Select("部活 = '野球部'")`

左辺値に`BaseballMembers`

をいれました。

![スクリーンショット (36).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/42937542-ed2f-3014-9945-a9d5425f43f9.png)


## 3-2. 変数BaseballMembersの型を修正しよう！

スクショを見ての通り、エラーがでております！
これは、BaseballMembersの型の問題なんですね。

というわけで型を修正していきましょう！

1. 型の種類の中から、`Array of`をクリックします

![スクリーンショット (37).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/fb932f0b-13d5-1faa-0b35-d7985245d14c.png)


2. `型の参照`をクリックします

![スクリーンショット (40).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/b69dfa67-b1d3-8718-7b0d-51cff1107e55.png)


3. DataRowを検索して、System.Dataの中にある`DataRow`をクリックし、OKを押します

![スクリーンショット (41).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/59d61f9a-6cb2-19bf-c8b5-de43b92126b4.png)

エラーが消えたら正解です！

というわけで、次は野球部のメンバーたちをループして、それぞれの出席番号と苗字を抽出します！

# 4. 取得した野球部員のデータを繰り返し処理にかける

まずは、アクティビティパネルから`繰り返し（コレクションの各要素）`をもってきます。

![スクリーンショット (42).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/683acade-fca1-d2c7-bcda-c0d3575e9a24.png)


そして、野球部員のデータを繰り返すので、「コレクション」の中に「BaseballMembers」を入力します。

![スクリーンショット (43).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/825b509f-7da3-9381-858d-f96c41c2d760.png)

そして、プロパティパネルの`Type Argument`を`System.Data.DataRow`にする必要があります。

これは、**コレクションである「BaseballMembers」と繰り返しの「TypeArgument」のデータ型を一致させないといけないということです**

僕はここでめちゃくちゃはまりました。つらかったです。


![スクリーンショット (44).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/030d4be8-d044-6336-555f-0552e78af2bd.png)


# 5. 出席番号を取得する

アクティビティプロパティから`代入`をもってきます。

そして、右辺値に`item("出席番号").ToString`, 左辺値に`StudentNumber`をいれます。
そして、`StudentNumber`のデータ型を`String`にします。

![UiPath Studio - 空のプロセス 2019_05_09 10_18_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/33333d97-3fe6-182a-b1bc-ce9f5b114e46.png)

（※変数のところに次で使う「LastName」が定義されちゃってますが無視してください...！）


# 6. 苗字を取得する

1. アクティビティパネルから「代入」をもってきます。
2. 右辺値に`item("名前").ToString.Split(" "c).ToArray(0)`
3. 左辺値に`LastName`をいれます。

右辺値は、名前の列の文字を空白で区切ると、苗字が配列の0番目、名前が配列の1番目に格納されるので、0番目を取得しています。

左辺値のLastName変数は`String`型にしておきます。

![UiPath Studio - 空のプロセス 2019_05_09 10_19_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/5b944d42-b267-a8cd-7be1-3f11c67d0680.png)


# 7. 出席番号と苗字を書き出す

先程までのステップで、野球部員の出席番号と苗字を取り出せたので、出力します。

1. アクティビティパネルから「1行を書き込み」を持ってきます
2. Textには`"出席番号：" + StudentNumber + "・名前：" + LastName`と書きます。

![UiPath Studio - 空のプロセス 2019_05_09 10_21_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/7df17fb5-25db-87aa-b4c8-b8fb243ad0f5.png)


実行してみましょう！

# 8. 実行したら...

実行完了したら、左下にある「出力」をクリックしてみてください！

![UiPath Studio - 空のプロセス 2019_05_09 10_24_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238739/60659248-2995-980b-173e-1055ded8053e.png)


出力されていますね！成功です！！

というわけで、これでおわりです～～