技術情報ブログ
Power Platform
2021.07.14

【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(Power AppsやPower Automateなど)を用いてお客様の業務を自動化するご支援を数多く承っております。

業務の中で、「普段手動でやっている業務を自動化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

Power Automateのベストプラクティス・アンチパターン(4)【アクションの入れ子を回避】

 
2022.05.11

Power Automate:メール送信時にメッセージIDを取得する方法

 
2022.04.27

Power Apps の実践的なノウハウ まとめ

人気記事ランキング
1
2020.10.02

世界に広がる Power Apps「モデル駆動型アプリ」のココがスゴイ!【第1回】

2
2021.07.14

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

3
2021.06.23

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第1回】4つのシーンごとに手法を比較、その最適解とは?

4
2021.09.03

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】トリガーの条件の指定方法

5
2021.08.11

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

   
PageTop
ページトップに戻る