こんにちは。アーティサン株式会社の小刀稱(ことね)です。
本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。また、作成の際に学んだ点や躓いた点を中心に紹介いたします。
Power Automateでどんな事ができるのか知りたい、実際の作成方法を知りたい、という方に向けた記事です。
前回はExcelのデータをSharePointにインポートする手法と、それぞれのメリット・デメリットについて紹介しました。
第1回目の内容はこちらを参照ください。
Power AutomateでExcelデータをSharePointにインポートするために考えること(第1回)
今回からは、早速Power Automateを用いてフローを作成していきます。
インポートするExcelデータ
今回インポートするExcelデータを以下に示します。
※SharePointリストの各列もExcelと同様に定義しておきます。
Excelデータのテーブル化
Power Automateでは、Excelデータはテーブルしか扱うことができません。
よって、Excelを事前にテーブル化させておく必要があります。
ちなみに、Power Automateに限らず、テーブル化されていないデータは、プログラムで扱う際に開発難易度が跳ね上がってしまいます。
これからの時代、あらゆるデータはプログラムで利用されることを前提として考え、Excelにデータを入力する時点で、テーブル化できるように整理しておくことをお勧めします。
Excelをテーブル化する手順は以下です。
フローの作成
準備が整いましたので、早速Power Automateを用いてフローを作成していきましょう。
Power AutomateでExcelデータを扱う際には、「Excel Online(Business)コネクター」を利用します。
また、本コネクターに含まれる「表内に存在する行を一覧表示」アクションを用いることで、指定したテーブルの値を取得します。
「表内に存在する行を一覧表示」アクションを見ると、「場所」「ドキュメントライブラリ」「ファイル」「テーブル」という4つの項目を設定する必要がありそうです。
そこでSharePointのドキュメントライブラリ(名称:Excelファイル)を作成し、Excelデータを保存しました。その後、以下のように値を設定しました。
いずれの項目も、右端のアイコンをクリックすると候補が表示されるため、設定は非常に簡単です。
Excelのテーブルデータを取得できたので、続いてSharePointリストにインポートするためのアクションを追加します。
Power AutomateでSharePointを扱う際には、「SharePointコネクター」を利用します。また、本コネクター内の「項目の作成」アクションを用いることで、取得したテーブルデータをSharePointリストに追加します。
設定した値は以下です。
SharePointリストの各列に合わせて、データをマッピングしました。
Number列の形式は数値ですが、「表内に存在する行を一覧表示」アクションで取得すると、文字列として認識されます。
int()関数を用いて文字列から数値へキャストしています。
式:int(items(‘Apply_to_each’)?[‘Number’])
また、「項目の作成」アクションにてデータをマッピングすると、自動的に「Apply to each」アクションで囲われたと思います。
これは、「表内に存在する行を一覧表示」アクションで、複数行のデータを取得したためです。
「Apply to each」アクションにて、取得したデータ行数分の処理を実行します。(テーブルデータが10行分ある場合は、10回「項目の作成」アクションが実行される。)
はい、フローが完成しました!
今回作成したフローの全体像は以下です。少ないアクション数にて作成することができました。
フローの実行
それでは作成したフローを実行してみましょう。
保存したExcelファイルの横にある三点リーダーから自動化→作成したフロー名をクリックすることで実行できます。
上記手順にてフローを実行してみましたが、SharePointリストには何もインポートされていませんでした。
そこで、フローの実行履歴を確認すると「失敗」の文字が・・・
内容を確認すると、SharePointリストとExcelデータのDate列の形式が異なるため発生しているようです。
少し長くなってしまいましたので、今回はここまでにしたいと思います。
次回は発生したエラーの内容とその対処方法についてお伝えしていきます。
ここまで読んでいただき、ありがとうございました。
※2021年7月14日にアーティサンオフィシャルブログに投稿された記事です。
投稿者:小刀稱知哉