UiPath : Excel表のデータを取得してAccessデータベースへインサートする

UiPathはRPA製品の1つで、プログラミング不要で作業を自動化するロボットを開発することができます。

この記事では、Excel表のデータを取得して、Accessデータベースへインサートする処理をUiPathで構築する方法を紹介します。

1. 入力となるExcelテーブル

SampleDatabase.xlsx(AccessDB入力データ)

ファイル名を「SampleDatabase.xlsx」とします。1行目がヘッダで2行目からデータになります。

項目は、左から「なまえ」「役職」「給料」になります。

2. 出力先のAccessデータベース

SampleDatabase.accdb(出力先AccessDB)

ファイル名を「SampleDatabase.accdb」とします。テーブル定義は以下のとおりです。

フィールド名 データ型
なまえ 短いテキスト
役職 短いテキスト
給料 通貨型

サンプルテーブル定義

3. UiPathに必要なパッケージ

Accessデータベースを操作するアクティビティを使用するため、「UiPath.Database.Activities」というパッケージをインストールします。

UiPathパッケージインストール

4. UiPath シーケンス

全体像は以下のとおりです。

UiPathAccessデータベース書き込みシーケンス

処理順序は、以下のとおりになります。

  1. Excelアプリケーションスコープを使用して、「SampleDatabase.xlsx」を開く
  2. 範囲を読み込みアクティビティを使用して、データテーブルへ取得する
  3. 接続アクティビティを使用して、Accessデータベースへ接続する
  4. 繰り返し(各行)アクティビティを使用して、データテーブル内を1行ずつループ
  5. 非クエリを実行アクティビティを使用して、INSERTクエリを発行
  6. 切断アクティビティを使用して、Accessデータベースの接続を切断する

5. 接続アクティビティ

接続アクティビティ

接続アクティビティを使用して、Accessデータベースへの接続情報を作成します。

接続ウィザードを使用して作成していきます。

接続編集画面

データソースは、「Microsoft Access Database File」を選択します。

Datasource選択画面

「Database file name」に「SampleDatabase.accdb」のパスを指定します。

ユーザー名とパスワードは初期値のままでOKです。「Test connection」ボタンをクリックし、接続確認を行います。

接続プロパティ画面

接続に成功すると、以下の画面が表示されます。

接続確認成功画面

「OK」ボタンをクリックして閉じます。

接続編集画面(設定完了後)

今後の処理で接続情報を使用するため、出力プロパティの「データベース接続」に「Con」変数を追加しておきましょう。

接続アクティビティプロパティ

6. 非クエリを実行アクティビティ

非クエリを実行アクティビティ

このアクティビティで、INSERTクエリを発行します。INSERTクエリは以下のように定義します。

"INSERT  INTO  サンプルテーブル  VALUES  (@NAME, @POST, @SALARY)"

SQL編集画面

パラメータに、データテーブルから取得した値をセットします。

SQLプロパティ設定画面

「接続設定」プロパティの「既存の接続」に「Con」を指定します。

非クエリを実行アクティビティプロパティ

7. 切断アクティビティ

切断アクティビティ

Accessデータベースへの接続を切断します。

「接続」プロパティの「データベース接続」に変数「Con」を指定します。

切断アクティビティプロパティ

8. 実行方法と結果

「ファイルを実行」から実行します。

実行方法

このように、データが格納されることを確認します。

実行結果(Accessデータベース)

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱