技術情報ブログ
Power Platform
2021.08.27

Power AutomateでExcelデータをSharePointにインポートするために考えること(第7回)

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

「Power AutomateでExcelをSharePointリストにインポートしたい時に考えること」シリーズの第7回です。

本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。

また、作成の際に学んだ点や躓いた点を中心に紹介いたします。

Power Automateでどんな事ができるのか知りたい、実際の作成方法を知りたい、という方に向けた記事です。

前回は、ExcelデータのファイルIDを取得するため、まずはSharePointのドライブIDを取得しました。 また、first()関数を用いて、不要なApply to eachを回避する方法についてお伝えしました。

第6回目の内容はこちらを参照ください。

Power AutomateでExcelデータをSharePointにインポートするために考えること(第6回)

今回は「動的にExcelデータを取得する」方法の続きで、ExcelデータのファイルID・テーブルIDを動的に取得する方法についてお伝えしていきます。 第5回・第6回で説明した手法を再度用いますので、復習する気持ちで御覧ください!

 

Excelデータの動的な取得(ファイルID編) その3

ファイルIDを取得するには、以下の手順を実施していきます。

  • Excelデータが保存されたSharePointドキュメントライブラリのドライブIDを取得

    • ドライブ一覧を取得

    • ドライブ一覧から今回使用するドライブ情報をドライブ名で検索

    • 対象のドライブIDを取得

  • ExcelデータのファイルIDを取得 ← 今回の対象

前回のブログでは、「対象のドライブIDを取得」までが完了しました。 今回は「ExcelデータのファイルIDを取得」するところから始めます。

 

ExcelデータのファイルIDを取得

SharePointにHTTP要求を送信しますアクションを選択し、以下の項目を入力します。

サイトのアドレス
保存したSharePointのサイト
方法
GET
URL
_api/v2.0/drives/<ドライブID値>/root:/test.xlsx
ヘッダー
accept application/json

※<ドライブID値>には、前回のブログで取得したドライブID値を設定してください。

ちなみに、URLに指定しているファイルパスに半角空白がある場合は、%20に置換する必要があります。

例:フォルダー名が“test directory”の場合

_api/v2.0/drives/<ドライブID値>/root:/test%20directory/test.xlsx

ファイルID取得のための設定

上記の手順で、“text.xlsx”の情報を取得することができました。一度結果を見てみましょう。

text.xlsxの取得

上記の中で“tableTest”のid値(ハイライト部分)を作成アクションを用いて抽出します。
具体的な式は以下です。

body(‘SharePoint_に_HTTP_要求を送信します(file)’)?[‘id’]

ファイルIDの取得

ここまでで、ExcelデータのファイルID値を取得することができました。

 

Excelデータの動的な取得(テーブルID編)

テーブルIDを取得するには、以下の手順を実施していきます。

 

(1)Excelファイルのテーブル一覧を取得

Excelファイルのテーブル一覧を取得するには、Excel Online(Business)コネクタのテーブルの取得アクションを利用します。

テーブルの取得

ファイル項目には、取得したファイルIDを設定します。

具体的な式は以下です。


outputs(‘作成(fileID)’)

 

(2)使用するテーブル情報を一覧からテーブル名で検索

(1)の手順で、Excelデータのテーブル情報一覧を取得することができました。一度結果を見てみましょう。

テーブルの取得結果

value配列の中にテーブル情報一覧が格納されていることが分かりますね。

この中から、id値(ハイライト部分)を抽出していきます。

まずは、JSONの解析アクションです。

コンテンツ項目に、テーブルの取得アクションのvalueを設定します。

またスキーマ項目については、サンプルから作成をクリックし、
先程取得したテーブル一覧からvalue内の配列([] まで)の内容をコピー&ペーストすることで完了です。

JSONの解析

続いて、アレイのフィルター処理アクションを追加します。

このアクションでは、JSONの解析アクションの出力結果から、“name”が“tableTest”である項目を検索し、その情報を抽出しています。

アレイのフィルター処理

結果を見てみましょう。

アレイのフィルター処理の結果

“tableTest”に関するテーブル情報だけを抽出することができました。

 

(3)テーブルIDを取得

(2)の結果から、id値(ハイライト部分)を取得します。 作成アクションを用いてid値を指定しましょう。

※body部分が配列となっている、かつ取得するid値は1つと明確であるため、first()関数を用いて不要なApply to eachアクションを回避しましょう。 具体的な式は以下です。

first(body(‘アレイのフィルター処理_2’))[‘id’]

作成

ここまでで、無事ExcelデータのファイルID・テーブルIDを取得することができました!

 

第5回から今回までを経て作成したフローを以下に貼り付けておきます。

作成したフロー

次回は、動的に取得したExcelデータのファイルIDやテーブルIDを用いて、実際にExcelデータを取得し、SharePointリストへインポートするようにフローを作り込んでいきます。

ここまで読んでいただき、ありがとうございました。

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

Twitter
facebook
シェアする
記事カテゴリ
最新記事
Power PlatformPower Apps
2021.09.17

Power Apps で保守性を高めつつギャラリーのタブ切り替えを実装する

Power PlatformPower AutomateSharePointExcel
2021.09.15

Power AutomateでExcelをSharePointリストにインポートしたい時に考えること(第10回)

Power PlatformPower AutomateSharePointExcel
2021.09.10

Power AutomateでExcelをSharePointリストにインポートしたい時に考えること(第9回)

Power PlatformPower Automate
2021.09.08

Power Automate・Dataverse for Teams:選択肢列や参照列の表示名を取得する

Power PlatformPower AutomateSharePointExcel
2021.09.03

Power AutomateでExcelデータをSharePointにインポートするために考えること(第8回)

人気記事ランキング
1
Power PlatformPower Apps
2020.10.02

世界に広がる「モデル駆動型アプリ」のココがスゴイ!【第1回】

2
Power PlatformPower AutomateSharePointExcel
2021.07.14

Power AutomateでExcelデータをSharePointにインポートするために考えること(第2回)

3
Power PlatformPower AutomateSharePointExcel
2021.06.23

Power AutomateでExcelデータをSharePointにインポートするために考えること(第1回)

4
バス予報
2020.10.15

独立行政法人日本貿易振興機構(ジェトロ)による「日・ASEANにおけるアジアDX促進事業」の「マレーシア渋滞緩和を目指したサイバージャヤスマートシティバス 実証プロジェクト」採択について その①

5
バス予報
2020.10.16

独立行政法人日本貿易振興機構(ジェトロ)による「日・ASEANにおけるアジアDX促進事業」の「マレーシア渋滞緩和を目指したサイバージャヤスマートシティバス 実証プロジェクト」採択について その②

PageTop
ページトップに戻る