UipathでExcelでデータを取得し、いろいろしてから出力してみましょうー!
データを取得するだけなら結構簡単にできるんですけど、
必要な情報だけを取得したり、整形したりするところでいろいろつまづいてしまったので、メモがてらに残しておきます!
Excelはこんなファイルを用意してみました。
今からやることは、このエクセルファイルの野球部の人だけを抽出し、出席番号と苗字を出力することです。
1. アクティビティパネルからシーケンスを追加する
今回はシーケンスで実装していきます!
2. アクティビティパネルからcsvを読み込むを追加する
2-2. エクセルファイルのパスを指定する
人によって違うので気を付けてください!
2-3. 出力データを変数にいれる
プロパティパネルの「出力」部分にカーソルをあてて、Ctrl + Kを押しましょう。
その状態で、「Members」と打ったら、変数も自動で定義してくれます!
3. 野球部の人のみを抽出する
まずは、アクティビティパネルから「代入」を持ってきます。
3-1. 代入のプロパティを埋めよう!
右辺値にMembers.Select("部活 = '野球部'")
左辺値にBaseballMembers
をいれました。
3-2. 変数BaseballMembersの型を修正しよう!
スクショを見ての通り、エラーがでております!
これは、BaseballMembersの型の問題なんですね。
というわけで型を修正していきましょう!
- 型の種類の中から、
Array of
をクリックします
-
型の参照
をクリックします
- DataRowを検索して、System.Dataの中にある
DataRow
をクリックし、OKを押します
エラーが消えたら正解です!
というわけで、次は野球部のメンバーたちをループして、それぞれの出席番号と苗字を抽出します!
4. 取得した野球部員のデータを繰り返し処理にかける
まずは、アクティビティパネルから繰り返し(コレクションの各要素)
をもってきます。
そして、野球部員のデータを繰り返すので、「コレクション」の中に「BaseballMembers」を入力します。
そして、プロパティパネルのType Argument
をSystem.Data.DataRow
にする必要があります。
これは、コレクションである「BaseballMembers」と繰り返しの「TypeArgument」のデータ型を一致させないといけないということです
僕はここでめちゃくちゃはまりました。つらかったです。
5. 出席番号を取得する
アクティビティプロパティから代入
をもってきます。
そして、右辺値にitem("出席番号").ToString
, 左辺値にStudentNumber
をいれます。
そして、StudentNumber
のデータ型をString
にします。
(※変数のところに次で使う「LastName」が定義されちゃってますが無視してください...!)
6. 苗字を取得する
- アクティビティパネルから「代入」をもってきます。
- 右辺値に
item("名前").ToString.Split(" "c).ToArray(0)
- 左辺値に
LastName
をいれます。
右辺値は、名前の列の文字を空白で区切ると、苗字が配列の0番目、名前が配列の1番目に格納されるので、0番目を取得しています。
左辺値のLastName変数はString
型にしておきます。
7. 出席番号と苗字を書き出す
先程までのステップで、野球部員の出席番号と苗字を取り出せたので、出力します。
- アクティビティパネルから「1行を書き込み」を持ってきます
- Textには
"出席番号:" + StudentNumber + "・名前:" + LastName
と書きます。
実行してみましょう!
8. 実行したら...
実行完了したら、左下にある「出力」をクリックしてみてください!
出力されていますね!成功です!!
というわけで、これでおわりです~~