RPA(BizRobo!mini)でエクセル形式のデータ出力を実践
どうも、こんにちは!
前回の記事で、「Webページ(食べログ)から抽出した情報をCSVに書き込みする」ってことをやりましたが、今回は出力の形式をエクセル形式に出力したいと思います。
なお、今回は学習にあたって、NO-WAYさんのブログを大変参考にしました。
本当にわかりやすかったです。
CSVとエクセルの違いをざっくり説明すると、
CSVはシンプルな形式で、エクセルでも開くことができます。
エクセルはいろんなことが出来る分、複雑な形式となっている、つまり出力も少し面倒くさい点が違いです。
エクセル書き込みの大まかな手順
大きく、以下3つの手順で進んでいくイメージを持って下さい。
1.エクセル変数を作成、開く
2.エクセル変数に値を書き込む
3.エクセル変数をエクセルへ出力する
自分は最初このイメージがつかめずに混乱しました。
エクセル変数ってなに?!って。
とりあえず、「エクセル用の型」のようなイメージを持ってやってみるというのをおすすめします。
全体像
今回の全体像はこのような感じです。
エクセル独特の操作をしたということに加えて、前回とファイル出力の位置を変えてます!後述しますが、ループがすべて終わった後にファイル出力すればええんやと気づいたのですよ…。
以下に詳細の手順を記載していきます。
ただし、エクセル出力で追加した部分だけにします。
手順1.変数を追加する
まず、エクセル独自の変数を作成してあげなければけません。
変数の「+」ボタンを押して、任意の名前(〇〇エクセルとかが分かりやすいと思います)を記載して、グローバルにチェックです。
タイプは「エクセル」です。
手順2.エクセルをオープンする
先頭にアクションを挿入して「変数を開く」を選択します。
変数は、先程作成したエクセル用の変数を指定します。
手順3.エクセルのヘッダを記載する
エクセルのヘッダを記載します。
A1セルで「修正」→「セット」→「テキスト」をクリックして下さい。
セルのコンテンツ設定が開いたら、「コンテンツ」にヘッダ名を記載して「OK」ボタンです。
続けて、隣の列、また隣とある分だけヘッダの設定をします。
終わったら、ヘッダの手順はグループで括っておいた方が見やすくなるのでおすすめです。
手順4.カレントウィンドウの設定と行の挿入
カレントウィンドウは、タブをエクセルのものに切り替えるだけです。
この画面になりましたか?
一番左上(Aの左、1の上)の全選択をクリックして下さい。
右クリックをして、「修正」→「挿入」→「行」→「最後」と押します。
挿入する行数(1回のループでのレコードの件数)は1です。
このようにヘッダの次に枠ができましたでしょうか。
「今回のループではここに書き込んでいくよ~」というサインです。
手順5.コンテンツ設定
A2を右クリックして、「コンテンツ設定」を選択してください。
セルのコンテンツ設定が出てきたら、「コンテンツ」の右端の▼を押して「変数」へ変更して下さい。
そうすると、「コンテンツ」でTypeで作成している変数が選択できるようになっているので該当する変数を選択します。これを2行目はすべて行います。
手順6.書き込み
コンテンツの設定が終わったらいよいよ書き込みです。
前回のCSVの書き込みは、コンテンツ設定終了の直後のフローに記載していたのですが、エクセルでは変数に書き込んだものを一括で書き込みます。
そのため、ループの前にブランチを切って、「Write File」アクションを追加します。
ファイル出力の画面は参考までに下記のような設定です。
「ファイル名」はフルパス、「ファイルエンコーディング」はWindows日本語(windows-31j)ではないといけないところがポイントです。
出力結果
以下のような形で出力出来ました。
ヘッダをつけた分、CSVよりもキレイに見えますね。(きっとCSVでもヘッダはつけることができます。やらなかっただけで)
冒頭にも出しましたが、上記の作業をレビューと両方やった結果、このようなフローを完成させました!めでたしめでたし!
エクセル出力はなれるまでが大変ですね。
一度理解すれば、たいしたことはないと感じるようになるので是非エクセル変数を実践してみて下さい。
何度も書きますが、今回は学習にあたって、NO-WAYさんのブログを大変参考にしました。本当にわかりやすかったです。なかったらできませんでした!
おまけ.メモリ不足
結構作業をパキパキやってると、メモリ不足で落ちることもしばしば…。
こまめにセーブしないといけないのは、プログラミングでもRPAでもRPGゲームでも一緒ですよ!
ぷん!怒
それではまた!