RPAデベロッパー基礎㊹ Excel アプリケーション スコープと Excel 連携アクティビティ2
今日もUiPath Academyの「RPAデベロッパー基礎」で学習していきます
Excel アプリケーション スコープと Excel 連携アクティビティ
データベースのデータをフィルター処理して、結果を新しいファイルにエクスポート
❶Excel ファイルを使用する標準的な方法は、データを抽出して DataTable 型変数に格納し、さまざまな操作を実行して目的の情報を得ること
❷データを同じファイルまたは新しい Excel ファイルに書き込む
1⃣ ワークブックの [範囲を読み込み] アクティビティァイル
パスを指定し、[出力] > [データ テーブル] プロパティに出力変数「InputDT」を作成
[プロパティ] パネルの [入力] > [範囲] フィールドは空のまま
ファイルにはヘッダーが含まれるため、[ヘッダーを追加] プロパティはチェックを付けたまま
2⃣ [データ テーブルをフィルター] アクティビティ
[入力データ テーブル] に変数 InputDT を指定し、 [出力データ テーブル] には、フィルター処理した結果を使用して異なるデータ テーブルを作成したくはないため、同じ変数を入力
[保持] オプションを使用して、フィルター処理する列を指定
「Age」はその 1 つであるため、名前列に「"Age"」と入力
年齢は 30 歳未満にしたいので「より小さい」演算子を指定
[値] を「30.00」に設定
「小数点以下のゼロ 2 つ (.00)」を必ず追加
そうしないと比較ができなくなってしまい、フィルター処理が行えない
所得に関連する条件を追加
値の横のプラス ボタンをクリックすると、下に新しい条件が表示
ですが、今は [Or] をクリックして [And] に戻し、[列] に「"Income"」と入力
今回は、所得が 100,000 を超えるすべての従業員を特定したいため「より大きい」演算子を選択し、[値] には 「100000.00」を入力
次に、[出力列] タブをクリック
処理する特定の列を入力
すべての列を保持したいため、何もせずに [OK] をクリックして、[フィルター ウィザード] を閉じる
3⃣ フィルター処理した情報を、別の形式でデータ テーブルに保存する
[データ テーブルを構築] アクティビティを追加
・既存の列を削除、新しい列、「Name」「Age」「Income」を作成
(すべて String 型で、[null を許可] は無効化)
[繰り返し (データ テーブルの各行)]
(フィルター処理されたデータ テーブルの各行を反復処理し、必要な情報のみを抽出)
変数 InputDT を反復処理し、現在の行から特定のセルの値を出力する [行項目を取得] アクティビティを使用
必要なセルを指定するために、行項目と列名で示される「Row」を使用(インデックスよりも列名を使用する方が信頼性が高い)
[出力] に、新しい変数を作成
この例では、現在の行の「Name」列の値を抽出して String 型変数「Name」に格納
複製し、[列名] を「"Age"」に設定して、出力値に「Age」という変数を作成、System.Double 型に設定
特定のセルから情報を抽出するためには、[行項目を取得] のほかに [代入] アクティビティも使用できる
それには、新しい変数を定義して、Row.ItemArray メソッドを使用 Row.ItemArray(4).ToString
[To] フィールド内に変数「Income」を作成し、アクティビティの表示名も変更
[データ行を追加] アクティビティ
データを変数 AchieversDT に追加
ここで重要となる 2 つのパラメーターは、情報を追加するための DataTable 型変数の名前 (この場合は、AchieversDT) と追加するデータ (この場合は、配列形式)
配列は、中括弧で囲まれたコンマ区切りのリストとして指定{Name,Age,Income}
これで、プロセスはファイルの各行ごとに名前、年齢、所得を読み取り、先ほど作成した空のデータ テーブルにデータを追加する処理が行われるようになった
[Excel アプリケーション スコープ] を追加
[範囲に書き込み] アクティビティを追加変数 AchieversDT を指定して、[ヘッダーを追加] オプションを有効
この記事が気に入ったらサポートをしてみませんか?