📌

Power AutomateでSharePointのリストやDataverse for Teams のテーブルをCSVに出力する方法

2025/02/23に公開

はじめに

Power Automate で SharePoint のリストや Dataverse for Teams のテーブルを CSV 形式で出力する方法を解説します。実務において、ありふれた操作のため、簡単にできるだろう、と思っていましたが、結果として様々な記事を参照することになったので、ポイントをまとめました。

全体の流れ

SharePoint のリストでも、Dataverse for Teams のテーブルでも、同じ流れで出力できます。

手順 内容
1 専用アクションでデータを取得します。
2 CSVテーブルを作成します。
3 文字化けしないようにファイルを作成します。

解説

1. データ取得

専用アクションでデータを取得します。

分類 画像
SharePoint の リスト SharePoint コネクタのアクション「複数の項目の取得」
Dataverse for Teams の テーブル Dataverse コネクタのアクション「行を一覧にする」

2. CSVテーブル作成

「CSVテーブルの作成」を配置し、手順1で取得したValueをセットします。

分類 画像
SharePoint の リスト 「CSVテーブルの作成」にリストのValueを設定
Dataverse for Teams の テーブル 「CSVテーブルの作成」にテーブルのレコードのValueを設定

3. ファイル作成

今回は、OneDrive for Business コネクタの「ファイルを作成」を使用します。
OneDrive for Business コネクタの「ファイルを作成」

項目 パラメータ 参考
フォルダーのパス / OneDriveのRootのパスです。
ファイル名 formatDateTime(addHours(utcNow(), 9), 'yyyyMMdd_HHmmss').csv ファイル名に出力日時を入れています。
ファイルコンテンツ concat(decodeUriComponent('%EF%BB%BF'),body('CSV_テーブルの作成')) decode~で文字化けを回避します。

フローを実行すると、OneDrive のマイファイルに出力されます。
OneDrive のマイファイル

参考

手順1のデータ取得と手順2のCSVテーブル作成の間に、アクション「JSONの解析」を入れる方法を紹介している記事もありました。「JSONの解析」を行う目的は、JSONからのValueの抽出と思われますが、手順2の段階で、すでに動的コンテンツとして、Valueが使用できる場合、「JSONの解析」は不要と考えられます。参考として、JSON解析の使い方を解説します。

JSON解析の使い方 画像
手順1の直後に、テスト実行を行い、手順1の出力パラメータのBodyにおいて、Valueを黄色マーカーの位置からドラッグを開始します。
Valueの閉じ括弧の位置までドラッグしてコピーします。
アクション「JSONの解析」を配置して「サンプルペイロードを使用してスキーマを作成する」をクリックします。
先ほどコピーしたJSONのサンプルを貼り付けます。
生成されたスキーマ(Schema)を確認します。「required」まで下にスクロールします。
「required」の項目は、各レコードにその項目が含まれていない場合、エラーになるため、全レコードに必ず含まれる項目(ID等)のみに修正します。
最後に「CSVテーブルの作成」を配置して「JSONの解析」の出力をセットします。以降の手順は同じです。

Discussion