LoginSignup
7
2

More than 1 year has passed since last update.

Excelをデータベースのように使ってみた!

Last updated at Posted at 2021-12-13

初めに

初投稿です。
RPAで業務を自動化するとき、インプットとしてExcelファイルを使う事が多いと思います。
AutomationAnywhereでは[Excelの基本操作]と[Excelの高度な操作]というパッケージが準備されており、
普段はこれらの機能で十分自動化を実現できるのですが、ちょっと変わった使い方を紹介出来ればと思います。

事前準備

ODBCドライバの32Bit版を準備

[コントロールパネル]-[管理ツール]-[ODBC Data Sources(32Bits)]に「Excel Files」の32Bit版が存在しない場合は
以下のURLよりインストールしてください。
URL:https://www.microsoft.com/en-in/download/details.aspx?id=13255
image.png

データ格納用のExcelファイルを準備する。

1行目は必ずヘッダ情報を設定してください。
シート名がテーブル名の代わりになります。
image.png

ロボットの作成

[データベース]-[接続]アクションを使います。
 接続モードは「デフォルト」に設定します。
 接続文字列は「テキストを入力」を選択し、設定値に
 「Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=1046;Dbq=<対象Excelファイルのパス>;DefaultDir=<作業領域>;」を設定します。
image.png

②DataTable変数に値を取得する場合は
  [データベース]-[データテーブルにエクスポート]アクションを
 Csvファイルに値を取得する場合は
  [データベース]-[読み取り]アクションを使います。

 Selectステートメントを入力にSQL文を設定します。
 テーブルの代わりに[シート名$$]と記載します。必ず語尾に$を2つ設定します。

 出力結果は「割り当て先」に設定したDataTable型の変数(tblTest)に格納します。
image.png

③使い終わったら[データべース]-[接続解除]で接続を解除します。

ロボットの実行結果

上記ロボットを実行すると以下のような結果になります。
image.png

 最後に

如何だったでしょうか?
フィルタをかけたい場合は
 select * from [Sheet1$$] where 商品コード = 'ACE001'
とwhere句を追加する事で可能です。

insert/update/deleteを行いたい場合も
[データベース]-[挿入/更新/削除]アクションを使用する事で実行出来ます。

データベース環境を構築するのは大袈裟だけど、SQLを使ってデータの管理を行いたい!
という需要がございましたら、ぜひ試してみてくださいね!

では、皆様、良いRPAライフをお送りください(^o^)

7
2
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
7
2