Power Apps のトリセツ(もちろん非公式)#SharePoint Excel 追加編
2020-09-10
azblob://2022/11/11/eyecatch/2020-09-10-powerapps-torisetsu-sharepoint-excel-add-000.jpg

Power Platform を好奇心でいじっているエンジニア歴 2 年目の、横田です!
今回は Power Apps のトリセツ、SharePoint Excel 追加編です!Share Point にある Excel ファイルに対して、Power Automate 経由でレコードを追加するハンズオンを紹介していきます!
取得、編集、削除また、oneDrive にある Excel ファイルの操作は別の記事で紹介します!

※この記事はあくまで筆者の考えが沢山盛り込まれているので「へー 」ぐらいの温度感で読んでもらい、ぜひご指摘していただきたいです!

それではやっていきましょう!

下準備

まずは Excel ファイルを追加してテーブルを作成していきます! 

1. Share Point に Excel ファイルを追加

2. Excel ファイルにテーブルを追加
このテーブルに沿ったデータを追加していきます!

レコードの追加

Excel に作成したテーブルにレコードを追加していきます!
最終的なフローはこんなかんじ

1. Power Automate でフローを作成する

2. Power Apps のトリガーを追加

3. 現在の日付を取得

4. タイムゾーンを変更

「基準時間」には「現在の日付」を追加

「書式設定文字列」にはカスタム値を選択して「yyyy/MM/d HH:mm」を指定
これは「年/月/日 時:分」の表記になります。

最終的にはこんな感じ

5. 日付を文字列に変換

タイムゾーンを変換したデータをそのまま Excel に保存してしまうと Power Apps で表示する際に数値として認識してしまうので、このタイミングで文字列として Excel に保存していきます。

6. Excel Online (Business) の「表に行を追加」を追加

「場所」は「SharePoint Site -」から始まる場所を選択します。

「ドキュメントライブラリ」で「ドキュメント」を選択します。この時エラーになることがありますが、何度か「場所」を切り替えて試してみるといつか成功します!笑

「ファイル」「テーブル」を追加します。そうすると先程登録したテーブルのカラムが表示されるので、値を入れていきます。

収入・支出については「 Power Apps で確認する」を選択します。一度「 Power Apps で確認する」を選択すると「 Power Apps で確認する」が消えますが「もっと見る」から増やすことができます。

最後の収支に関しては Excel の関数を使って計算しています。セル参照の「INDIRECT」を使って、1つ上の収支から、今回の収入を足して支出を引くような式になっています。

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))+INDIRECT(ADDRESS(ROW(),COLUMN()-2))-INDIRECT(ADDRESS(ROW(),COLUMN()-1))

7. これでフローは完成したので、早速試してみます。
フローを保存してフローのホーム画面に戻ります。

「実行」ボタンからフローを実行してみます。

入力項目を入れて実行します。

結果はフローのホーム画面から確認できます。Excel を確認してみると追加できているかと思います!もちろん Power Apps と繋げても実行できます!

まとめ

今回は、SharePoint にある Excel ファイルに Power Automate 経由でレコードを追加する方法をハンズオン形式で紹介しました!追加自体は簡単ですが、それを Power Apps 側で表示するのは意外と曲者でコツがあるので、次回の記事で紹介します!