UiPath ウェブページの表をExcelワークシートに出力する

UiPathではウェブページのデータ抽出もプログラミング不要で実現できます。

この記事では、UiPathを使用してウェブページの表をExcelワークシートに出力する方法を説明します。

実現する処理内容

日経新聞の年初来高値一覧 https://www.nikkei.com/markets/kabu/newprice/ の表を

日経平均年初来高値画面

Excelファイルに出力する処理になります。

日経平均年初来高値Excel出力後

処理の流れ(シーケンス)

まず、URLをブラウザから開いて、データスクレイピングを行います。

UiPathウェブスクレイピングシーケンスデータ抽出

次に、作成するExcelファイル名を生成します。

UiPathウェブスクレイピングシーケンスExcelファイル名編集

その後、Excelアプリケーションスコープアクティビティを使用してExcelファイルを
新規作成し、ヘッダ行を書き込みます。

UiPathウェブスクレイピングシーケンスExcelヘッダ書き込み

最後に、繰り返し(各行)アクティビティを使用して、データスクレイピングで抽出でーたデータテーブルを1行ずつExcelに出力すれば完了です。

UiPathウェブスクレイピングシーケンスExcel明細データ書き込み

変数定義

今回使用する変数は以下の4つです。

UiPathウェブスクレイピングシーケンス変数

  • ExtractDataTable(DataTable型) ・・・ ウェブページから抽出した表を格納します。
  • ExcelSaveFileName(String型) ・・・ 作成するExcelファイル名を格納します。
  • NowYYYYMMDD(String型) ・・・ 現在の年月日をYYYYMMDD形式で格納します。
  • ExcelSaveRowIdx(Int32型) ・・・ Excelファイルに書き込む行番号を格納します。

URLをブラウザから開く方法

「ブラウザーを開く」アクティビティを使用します。

UiPathブラウザを開くアクティビティ

テキストボックスにURL https://www.nikkei.com/markets/kabu/newprice/ を入力します。

その後に処理するデータスクレイピングは、「ブラウザーを開く」アクティビティの「Do」シーケンスの中に配置します。

データスクレイピング

UiPath Studio の「データスクレイピング」からブラウザを選択し、データ抽出した表を選択します。

UiPathデータスクレイピング

抽出したデータは、DataTable型の変数「ExtractDataTable」に格納されます。

UiPathデータ抽出プロパティ

保存するExcelファイルパスを設定

UiPathExcel保存ファイル名編集

「GetNowYYYYMMDD.xaml」を実行し、現在日付をYYYYMMDD形式で取得します。

YYYYMMDD形式の現在日付は「DateTime.Now.ToString("yyyyMMdd")」で取得可能です。

変数「ExcelSaveFileName」は「"D:\YearlyHighPrice_" & NowYYYYMMDD」をセットしています。

Excelファイルにヘッダ行を書き込み

UiPathExcelヘッダ書き込み

1行目に以下のとおりヘッダ行を書き込みます。

  • A1 : 証券コード
  • B1 : 銘柄名
  • C1 : 新高値(円) 時刻
  • D1 : 前回高値(円) 日付
  • E1 : 現在値(円) 時刻

Excelファイルにデータを書き込み

UiPathExcel書き込み

DataTable型の変数である「ExtractDataTable」を「繰り返し(各行)」アクティビティを使用してループします。

書き込むExcelの行番号は「ExcelSaveRowIdx」で指定します。最初にインクリメント(ExcelSaveRowIdx = ExcelSaveRowIdx + 1)しているのは、2行目から書き込んでほしいためです。1行目はヘッダ行のため。

  • A列(証券コード) = row(1).ToString()
  • B列(銘柄名) = row(2).ToString()
  • C列(新高値(円) 時刻) = row(4).ToString()
  • D列(前回高値(円) 日付) = row(5).ToString()
  • E列(現在値(円) 時刻) = row(6).ToString()

このように「セルに書き込み」アクティビティで設定していけば、書き込み処理が実装されます。

UiPathのロボット開発相談を検討してみませんか?

私はシステムエンジニアとして10年以上経験があり、プロジェクトリーダーとしてUiPath導入を行ってきました。実務経験が豊富にありますので、UiPathの開発相談を頂ければ誠心誠意対応させて頂きます。

Twitter DM (https://twitter.com/Harus0313)または、以下のGoogleフォームまでご連絡頂けますと幸いです。

読み込んでいます…

そのほかのUiPath関連記事はこちら

https://usefuledge.com/getexcelrowforeach.html

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

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

Excel操作をコマンドで! proBoarderExcel

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

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

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

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

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

About Me

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