こんにちは。アーティサン株式会社の小刀稱(ことね)です。
「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
上記の手順で、“text.xlsx”の情報を取得することができました。一度結果を見てみましょう。
上記の中で“tableTest”のid値(ハイライト部分)を作成アクションを用いて抽出します。
具体的な式は以下です。
body(‘SharePoint_に_HTTP_要求を送信します(file)’)?[‘id’]
ここまでで、ExcelデータのファイルID値を取得することができました。
Excelデータの動的な取得(テーブルID編)
テーブルIDを取得するには、以下の手順を実施していきます。
(1)Excelファイルのテーブル一覧を取得
Excelファイルのテーブル一覧を取得するには、Excel Online(Business)コネクタのテーブルの取得アクションを利用します。
ファイル項目には、取得したファイルIDを設定します。
具体的な式は以下です。
outputs(‘作成(fileID)’)
(2)使用するテーブル情報を一覧からテーブル名で検索
(1)の手順で、Excelデータのテーブル情報一覧を取得することができました。一度結果を見てみましょう。
value配列の中にテーブル情報一覧が格納されていることが分かりますね。
この中から、id値(ハイライト部分)を抽出していきます。
まずは、JSONの解析アクションです。
コンテンツ項目に、テーブルの取得アクションのvalueを設定します。
またスキーマ項目については、サンプルから作成をクリックし、
先程取得したテーブル一覧からvalue内の配列([ ~ ] まで)の内容をコピー&ペーストすることで完了です。
続いて、アレイのフィルター処理アクションを追加します。
このアクションでは、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 AutomateでExcelデータをSharePointにインポートするために考えること 第1回】
4つのシーンごとに手法を比較、その最適解とは? -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】
フロー作成でエラー発生! -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第3回】
フロー実行時のエラー内容と対処方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第4回】
タイムゾーン差異と対処法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第5回】
ExcelファイルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第6回】
インポートするためのドライブIDを取得する方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第7回】
ファイルIDとテーブルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】
トリガーの条件の指定方法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第9回】
Excel表データの行数が多い場合の対処法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第10回】
インポートがうまくいかない!原因と対処法は? -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第11回】
煩雑なフローをアクションで可読性向上!
地方自治体ローコード導入・運用支援サービス(Power Apps・Power Automate)
Microsoft社が提供するローコード技術であるPower Platformを用いて、自治体様のDX化を支援します。
X-SP | SharePoint デザイン・機能拡張サービス
デザイン×機能を兼ね備えたSharePointを提供いたします。
SharePointの利便性を向上し、操作性と視認性を兼ね備えたデザインでユーザーの業務効率化・ストレス低減を提供します。
内製化支援サービス | Power Platform(Power Apps・Power Automate)
Power Platform(Power Apps・Power Automate)開発や運用をスムーズに内製できるよう支援いたします。
DX人材育成プログラム | Power Apps・Power Automte 教育
Microsoft社が提供するローコード技術であるPower Platformを用いて、社内のDX化を推進するための人材を育成いたします。
Power Apps/Power Automateアプリ開発・導入支援サービス
Microsoft社が提供するPower Apps / Power Automateの導入支援として、高度なアプリも最速で作れる業務アプリ作成支援サービスを提供いたします。
SharePointモダン化コンサルティングサービス
従来のSharePoint から移行・モダン化したい方に向けて、事前調査からサイト作成・活用支援までトータルなコンサルティング・技術支援を提供いたします。
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200