Power Automate 「テーブルの作成(Excel Online (Business))」アクション

2020年12月1日

「テーブルの作成(Excel Online (Business))」は

Excelにデータ行のない(項目行だけ)のテーブルを追加するアクションです。

この記事では、その使い方と新規作成したテーブルに行を追加する方法を紹介します。

利用方法

コネクタ「標準」より「Excel Online (Business)」を選択します。

Microsoft365のログイン先が設定されていない場合はログイン情報を設定する必要があります。

「標準」より「Excel Online (Business)」を選択

「アクション」より「テーブルの作成」を選択します。

「アクション」より「テーブルの作成」を選択

「テーブルの作成」ステップが追加されるのでオプションを設定します。

項目説明
場所接続可能なOneDriveとSharePointの一覧が表示されるので
その中からテーブルを作成するファイルのある場所を選択。
ドキュメントライブラリOneDriveの場合OneDrive、SharePointの場合、ドキュメントを選択
ファイル右のディレクトリアイコンのピッカーでファイルを選択。
ファイルパスに見えますが、表示だけで中身はIDです。
指定ファイルを削除してから、同名ファイルを作成しても別として扱われてしまいます。(再指定が必要)
表の範囲Excelのセル指定と同様の形式でシート名とセルを指定します。
例では「シート2」の「B1」で下記のように指定しています。
シート2!B2
テーブル名追加するテーブルの名前を入力します。
キー列追加するテーブルの項目をカンマ区切りで入力します。
例では「コード」、「名前」、「価格」を下記のように指定しています。
コード,名前,価格

今回の例でフローを実行すると「追加テーブル」がシート2のB1以降に追加されます。

実行結果。「追加テーブル」がシート2のB1以降に追加
実行結果

既に同名のテーブルがある場合、エラーとなります。

エラーすると途中でフローが停止してしまうため

それを避けたい場合は「テーブルの取得」と「条件」で

追加対象が存在するかを確認してから作成するか、

スコープで例外処理(エラー処理)を行う必要があります。

作成したテーブルにデータ行を追加

アクションで新規作成したテーブルにデータを追加するには

表に行を追加」を利用しますが手順が特殊です。

「場所」、「ドキュメント ライブラリ」、「ファイル」までは通常通りですが、

テーブルの選択肢には追加テーブルは出てこないため「カスタム値の入力」を選択します。

テーブルに「カスタム値の入力」を選択

動的なコンテンツが表示されるため「テーブルの作成」の「name」を指定します。

(nameですが、中身はIDです。今後修正される可能性は高いです)

「テーブルの作成」の「name」を指定

通常の利用方法ではテーブルの項目ごとに入力欄が出ますが、

この方法ではBody欄のみが表示されます。(Bodyではなく行と表示される可能性もあります)

ここにはJSON形式で1行のデータを指定します。

JSONの仕様は多いですが、ここで必要な事項は以下の通りです。

  • 全体を{}で囲む。
  • 一つのセルを項目名:データの形式で記述。項目名とデータは"で囲む。
  • セルとセルの間は,で区切る(最後の項目は不要)

例えばこのような行を追加する場合は、このようなJSONになります。

コード名前価格
B-001しゃけ120
追加する行
{
  "コード": "B-001",
  "名前": "しゃけ",
  "価格": "120"
}
BodyにJSON形式で追加する行を指定
Body(行と表示される可能性もあります)にJSON形式で追加する行を指定

このフローで新規テーブルの作成と追加をした結果です。

新規テーブルの作成と追加をした結果

表に行を追加」ではテーブルのIDを指定します。

このIDは見た目は名前ですが作成されるたびに中身が変わります。

(IDのない作成前のテーブルは指定不可)

よって前述のように動的なコンテンツを使わないと

テーブルの指定でエラーするのでデータを追加できません。

関連記事