技術情報ブログ
Power Platform
2021.08.27

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第7回】ファイルIDとテーブルIDを動的取得

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第7回】ファイルIDとテーブルIDを動的取得

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

「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年生まれ

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

趣味は読書

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

持ってる資格はPL-200/PL-300/PL-400/MS-700/AZ-104/AZ-305

シェアする
記事カテゴリ
最新記事
2024.06.26

一歩先へ進む企業のためのPower Platform内製化マニュアル:Power Apps・Power Automateの内製化に必要なリンク一覧

2024.06.05

【2024年6月更新】Power Automate 設計・構築時のTips集

2024.05.15

非エンジニア【(元)自治体職員】がローコード開発をして気が付いたこと コーディング規約とPower Platformプレミアムサンプルアプリ集

2024.05.01

Power Apps・Power Automateの勉強方法(2)

2024.04.17

Power Apps・Power Automateの勉強方法(1)

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る