技術情報ブログ
Power Platform
2021.07.14

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

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

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

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

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

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

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

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

 

インポートするExcelデータ

今回インポートする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でExcelデータを扱う際には、「Excel Online(Business)コネクター」を利用します。

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

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

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

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

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

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

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

Power Automateで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データをインポートするフロー全体像

 

フローの実行

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

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

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

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

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

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

 

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

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

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

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

Power Appsアプリの多言語化への対応方針

Dynamics 365 Sales
2021.10.25

はじめての Dynamics 365 Sales!【第1回】

Power PlatformPower Apps
2021.10.06

Power Appsでデータの順位を求める方法(RANK()関数と同等機能の実装方法)

Angular
2021.09.29

AngularでGoogle Maps マーカークラスタリングライブラリの利用(1)

Power PlatformPower AutomateSharePointExcel
2021.09.22

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

PageTop
ページトップに戻る