技術情報ブログ
Power Platform
2022.01.14

Power AutomateでExcelからSharePointへ値を転記する際の対応方針(1):Excelのテーブル編

Power AutomateでExcelからSharePointへ値を転記する際の対応方針(1):Excelのテーブル編

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

Power Automateを用いて業務を自動化していく中で、Excelに入力した値をデータベース化したいと思ったことはありませんか?

本連載ではPower Automateを用いて、Excelに入力されたデータをSharePointへ値を転記する際の対応方針についてお伝えします。
これにより、Excelに入力された値を、SharePointにてデータベース化することができます。

内容としては、既にPower Automateでフローを作成したことがある方に向けた記事です。
また、少々コーディングの知識も必要となります。

Power Automate初心者の方は、以下の記事も参考にしてください。

 

今回やりたいこと

初めに、今回やりたいことについて説明します。

Excelファイル内に氏名・メールアドレス・申請内容が入力されています。

【Power AutomateでExcelからSharePointへ】Excelファイルの値
Excelファイルの値

SharePoint ドキュメントライブラリのメタデータに各値を転記します。

【Power AutomateでExcelからSharePointへ】転記した結果
転記した結果

 

ExcelからSharePointへ値を転記する際の対応方針

ExcelからSharePointへ値を転記する際には、Power Automateと以下の方法を組み合わせた2パターンが考えられます。

  • Excelファイル内のテーブルを用いる

  • Office スクリプトを用いる

それぞれの方針について説明します。
(「Office スクリプトを用いる」方法については、次回の記事で紹介します。)

 

Excelファイル内のテーブルを用いる

Excelに新しくテーブルを作成し、その値を転記する方法です。
この方法は、コーディングの知識がなくても構築できます。

Power Automateでは、Excelデータのセルを指定し取得することはできません。
その代わり、テーブル内の値を値を取得することが可能です。

よって、先程のExcelファイルをテーブルにすればよいのですが、その場合ユーザーにとっては入力しづらくなってしまいます。

対応策として、別シートにテーブルを作成し、その値をPower Automateから取得します。

手順としては以下です。

 

(1)Excelのセル名を変更

入力項目となっている各セル(上記ExcelのC2・C4・C6)のセル名を変更します。
固有のセル名を付与することで、列や行を追加しても、値を参照することができるようになります。

今回は以下のように修正しました。

C2セル:Name

C4セル:MailAddress

C6セル:Contents

【Power AutomateでExcelからSharePointへ】セル名の変更
セル名の変更

 

(2)Excelの別シートにテーブルを作成し、値を転記

Excelに新しいシート(今回は「テーブル」シート)を追加し、新しいテーブル(applyTable)を作成します。
また、テーブルの2行目に、「申請書」シートから各値を転記するよう数式を追加します。

【Power AutomateでExcelからSharePointへ】新しいテーブル
新しいテーブル

その後、「テーブル」シートを他の人が編集できないよう、シートを保護します。
詳細な手順については、以下のURLを参照してください。
Microsoft:ワークシートを保護する

以上で、Excelの作成は完了です。

SharePointのドキュメントライブラリにExcelを保存しましょう。

 

(3)Power Automateにてテーブルの情報を取得、SharePointへ転記

表内に存在する行を一覧表示アクションを用いて、テーブルの値を取得します。
その後、ファイルのプロパティの更新アクションにて、SharePointへ値を転記しています。

「表内に存在する行を一覧表示」アクションは「配列」という複数のデータをひとまとめにした形式となっています。
よって、「ファイルのプロパティの更新」アクションは、配列中のデータを1行ずつ取り出して処理する「Apply to each」アクションで囲われています。

ただし、今回はテーブルの行数は必ず1行であることが明確となっているため、first()関数を用いて、
Apply to eachアクションを回避することも可能です。

詳細については、以下記事を参考にしてください。

 

実行結果

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

【Power AutomateでExcelからSharePointへ】Power Automateの実行
Power Automateの実行

SharePoint ドキュメントライブラリをご覧いただき、Excelの各値が転記されていることを確認してください。

 

さいごに

本記事ではPower Appsを用いることなく、ExcelからSharePointへ値を転記する際の方法として、「Excelファイル内のテーブルを用いる」方法について説明しました。

次回は、「Officeスクリプトを用いる」方法について説明します。

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

 

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

2024.03.06

SharePointのあったらいいなを集めました(X-SPのご紹介)

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談
PageTop
ページトップに戻る