技術情報ブログ
Power Platform
2021.07.14

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】フロー作成でエラー発生!

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】フロー作成でエラー発生!

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

本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。また、作成の際に学んだ点や躓いた点を中心に紹介いたします。

この連載を最後まで見ていただくと、ExcelデータをSharePointリストへ自動的に追加するPower Automateを作成することができるようになります。

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

前回はExcelのデータをSharePointにインポートする手法と、それぞれのメリット・デメリットについて紹介しました。

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

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

今回からは、早速Power Automateを用いてフローを作成していきます。

 

Power AutomateでインポートするExcelデータ

Power AutomateでインポートするExcelデータを以下に示します。

※SharePointリストの各列もExcelと同様に定義しておきます。

ファイル名
test.xlsx
テーブル名
tableTest
列名(形式)

String(文字列)

Number(数値)

Date(日付、yyyy/MM/dd)

DateTime(日付、yyyy/MM/dd hh:mm)

Power AutomateでインポートするExcelデータ

 

Excelデータのテーブル化

Power Automateでは、Excelデータはテーブルしか扱うことができません。

よって、Excelを事前にテーブル化させておく必要があります。

ちなみに、Power Automateに限らず、テーブル化されていないデータは、プログラムで扱う際に開発難易度が跳ね上がってしまいます。

これからの時代、あらゆるデータはプログラムで利用されることを前提として考え、Excelにデータを入力する時点で、テーブル化できるように整理しておくことをお勧めします。

Excelをテーブル化する手順は以下です。

  • テーブル化したい範囲を選択します。
  • ホーム → テーブルとして書式設定 の中から任意のスタイルを選択 します。
  • ポップアップ画面(テーブルの作成)のOKを選択します。 Power AutomateでインポートするExcelデータをテーブル化
  • テーブルデザイン → テーブル名を「testTable」に変更します。

 

Power Automateでフローを作成する

準備が整いましたので、早速Power Automateを用いてフローを作成していきましょう。

Power AutomateでExcelデータを扱う際には、「Excel Online(Business)コネクター」を利用します。

また、Excel Online(Business)コネクターに含まれる「表内に存在する行を一覧表示」アクションを用いることで、指定したテーブルの値を取得します。

Power Automateで使用するアクション「表内に存在する行を一覧表示」

「表内に存在する行を一覧表示」アクションを見ると、「場所」「ドキュメントライブラリ」「ファイル」「テーブル」という4つの項目を設定する必要がありそうです。

そこでSharePointのドキュメントライブラリ(名称:Excelファイル)を作成し、Excelデータを保存しました。その後、以下のように値を設定しました。

Power AutomateでExcelデータを扱うための「表内に存在する行を一覧表示」設定

いずれの項目も、右端のアイコンをクリックすると候補が表示されるため、設定は非常に簡単です。

Excelのテーブルデータを取得できたので、続いてSharePointリストにインポートするためのアクションを追加します。

Power AutomateでSharePointを扱う際には、「SharePointコネクター」を利用します。また、SharePointコネクター内の「項目の作成」アクションを用いることで、取得したテーブルデータをSharePointリストに追加します。

設定した値は以下です。

Power Automateで「SharePointコネクター」の「項目の作成」を「Apply to each」で繰り返し処理

SharePointリストの各列に合わせて、データをマッピングしました。

Number列の形式は数値ですが、「表内に存在する行を一覧表示」アクションで取得すると、文字列として認識されます。

int()関数を用いて文字列から数値へキャストしています。

式:int(items(‘Apply_to_each’)?[‘Number’])

 

また、「項目の作成」アクションにてデータをマッピングすると、自動的に「Apply to each」アクションで囲われたと思います。

これは、「表内に存在する行を一覧表示」アクションで、複数行のデータを取得したためです。

「Apply to each」アクションにて、取得したデータ行数分の処理を実行します。(テーブルデータが10行分ある場合は、10回「項目の作成」アクションが実行される。)

はい、フローが完成しました!

今回作成したフローの全体像は以下です。少ないアクション数にて作成することができました。

Power AutomateでSharePointにExcelデータをインポートするフロー全体像

 

Power Automateの実行

それでは作成したフローを実行してみましょう。

保存したExcelファイルの横にある三点リーダーから自動化→作成したフロー名をクリックすることで実行できます。

Power Automateフロー実行時のエラー

上記手順にてフローを実行してみましたが、SharePointリストには何もインポートされていませんでした。

そこで、フローの実行履歴を確認すると「失敗」の文字が・・・

Power Automateフロー実行時の失敗

内容を確認すると、SharePointリストとExcelデータのDate列の形式が異なるため発生しているようです。

Power Automateフロー実行時のエラー内容

 

少し長くなってしまいましたので、今回はここまでにしたいと思います。

次回は発生したエラーの内容とその対処方法についてお伝えしていきます。

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

 

 

【このシリーズの過去回一覧】

 

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

2024.03.06

SharePointのあったらいいなを集めました(X-SPのご紹介)

モデル駆動型アプリ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
ページトップに戻る