アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
SharePoint デザイン拡張サービス
X-SP Style
モダン化から運用管理までサポート
移行・モダン化コンサルティング
こんにちは。アーティサン株式会社の小刀稱(ことね)です。
本シリーズでは、私が実際に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)
Excelデータのテーブル化
Power Automateでは、Excelデータはテーブルしか扱うことができません。
よって、Excelを事前にテーブル化させておく必要があります。
ちなみに、Power Automateに限らず、テーブル化されていないデータは、プログラムで扱う際に開発難易度が跳ね上がってしまいます。
これからの時代、あらゆるデータはプログラムで利用されることを前提として考え、Excelにデータを入力する時点で、テーブル化できるように整理しておくことをお勧めします。
Excelをテーブル化する手順は以下です。
- テーブル化したい範囲を選択します。
- ホーム → テーブルとして書式設定 の中から任意のスタイルを選択 します。
- ポップアップ画面(テーブルの作成)のOKを選択します。
- テーブルデザイン → テーブル名を「testTable」に変更します。
Power Automateでフローを作成する
準備が整いましたので、早速Power Automateを用いてフローを作成していきましょう。
Power AutomateでExcelデータを扱う際には、「Excel Online(Business)コネクター」を利用します。
また、Excel Online(Business)コネクターに含まれる「表内に存在する行を一覧表示」アクションを用いることで、指定したテーブルの値を取得します。
「表内に存在する行を一覧表示」アクションを見ると、「場所」「ドキュメントライブラリ」「ファイル」「テーブル」という4つの項目を設定する必要がありそうです。
そこでSharePointのドキュメントライブラリ(名称:Excelファイル)を作成し、Excelデータを保存しました。その後、以下のように値を設定しました。
いずれの項目も、右端のアイコンをクリックすると候補が表示されるため、設定は非常に簡単です。
Excelのテーブルデータを取得できたので、続いてSharePointリストにインポートするためのアクションを追加します。
Power AutomateでSharePointを扱う際には、「SharePointコネクター」を利用します。また、SharePointコネクター内の「項目の作成」アクションを用いることで、取得したテーブルデータをSharePointリストに追加します。
設定した値は以下です。
SharePointリストの各列に合わせて、データをマッピングしました。
Number列の形式は数値ですが、「表内に存在する行を一覧表示」アクションで取得すると、文字列として認識されます。
int()関数を用いて文字列から数値へキャストしています。
式:int(items(‘Apply_to_each’)?[‘Number’])
また、「項目の作成」アクションにてデータをマッピングすると、自動的に「Apply to each」アクションで囲われたと思います。
これは、「表内に存在する行を一覧表示」アクションで、複数行のデータを取得したためです。
「Apply to each」アクションにて、取得したデータ行数分の処理を実行します。(テーブルデータが10行分ある場合は、10回「項目の作成」アクションが実行される。)
はい、フローが完成しました!
今回作成したフローの全体像は以下です。少ないアクション数にて作成することができました。
Power Automateの実行
それでは作成したフローを実行してみましょう。
保存したExcelファイルの横にある三点リーダーから自動化→作成したフロー名をクリックすることで実行できます。
上記手順にてフローを実行してみましたが、SharePointリストには何もインポートされていませんでした。
そこで、フローの実行履歴を確認すると「失敗」の文字が・・・
内容を確認すると、SharePointリストとExcelデータのDate列の形式が異なるため発生しているようです。
少し長くなってしまいましたので、今回はここまでにしたいと思います。
次回は発生したエラーの内容とその対処方法についてお伝えしていきます。
ここまで読んでいただき、ありがとうございました。
【このシリーズの過去回一覧】
-
【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回】
煩雑なフローをアクションで可読性向上!
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
(最近はCopilot Studioについても勉強中)
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200