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関連記事はこちら

UiPath : Excelワークシートの各行をループしてセルの値を取得する方法
UiPath はRPA製品の1つです。プログラミング不要で簡単にプログラムを作成できます。この記事では、「繰り返し(各行)」アクティビティを使用して、Excelワークシートの各行をループしてセルの値を取得する方法を紹介します。1. この処理...

コメント

タイトルとURLをコピーしました