概要
この記事では、Power Automate Desktopを使ってXMLからExcelに変換する方法を紹介します。Power Automate Desktopを使うことで、簡単に変換するプログラムを作成することができます。
非常にオーソドックスな内容になってますので、Power Automate Desktopの初学者・初心者の方にやっていただくと流れがつかめるのではないかと思います。
作成するフロー
今回は、特定ディレクトリに格納されているXMLファイルからデータを読み込み、Excelファイルに書き込むフローを作成します。使用するXMLは以下のようなXMLです。このXMLファイルを任意のディレクトリに格納しておきます。
test001.xml
<?xml version="1.0" encoding="Shift_JIS" ?> <employee> <name>Alice</name> <age>18</age> </employee>
test002.xml
<?xml version="1.0" encoding="Shift_JIS" ?> <employee> <name>Bob</name> <age>20</age> </employee>
これらのXMLファイルを読みこみ、今回作成するフローで生成されるExcelが以下の内容になります。
フローの作成
それでは、フローを作成していきましょう。最終的に作成するフローの全体像は以下の通りです。
「フォルダー内のファイルを取得」アクションを配置して、XMLを保存したパスをフォルダーに指定します。これで、フォルダ内に配置されているファイルパスの一覧を取得することができます。
「Excelの起動」アクションを配置し、出力結果を格納するExcelを起動しておきます。
「Excelのワークシートに書き込み」アクションを配置し、A1セルにnameのヘッダを設定しておきます。
同様に「Excelのワークシートに書き込み」アクションを配置し、B1セルにageのヘッダを設定しておきます。
「変数の設定」アクションを配置し、書き込む行数を表す変数を設定します。2を設定しているのは、ヘッダ行が1行目で2行目以降に書き込みを行いたいからです。
「For each」アクションを配置し、XMLファイルパス単位に処理をします。
「ファイルからXMLを読み取ります」アクションを配置し、XMLファイルを読み込みます。
「XML要素の値を取得します」アクションを配置し、読み込んだXMLファイルから、XPathを指定して、name部分の値を取得します。
「Excelワークシートに書き込み」アクションを配置し、読み込んだnameの情報をA列に書き込みます。
同様に「XML要素の値を取得します」アクションを配置し、読み込んだXMLファイルから、XPathを指定して、age部分の値を取得します。
「Excelワークシートに書き込み」アクションを配置し、読み込んだageの情報をB列に書き込みます。
「変数を大きくする」アクションを配置し、次のファイルは、次の行に書き込みを行いたいため、行番号を表す変数の値を1大きくします。
これで実行すると、以下のExcelが出来上がります。
コメント