Power Automate初心者向け具体例の第5回目です。
Power AppsのデータソースとしてExcelはあまり適していないので、それまで使用していたExcelのデータをSharePointリストに移行する必要があります。
その移行作業を手作業で行うのはとても非効率ですので、Power Automateでデータのコピペを行う方法を解説します。
ExcelファイルとSharePointリストについて
Excelファイルは個人のOneDrive内のものを想定しています。
また、ExcelファイルとSharePointリストの列はわかりやすいように同様の名前にしておいてください。
Excelテーブル
Excelの”個人”列にはメールアドレスを入力しておいてください。
SharePointリスト
SharePointリストの列の種類は以下の表の通りです。
テキスト | 一行テキスト |
数値 | 数値 |
日時 | 日付と時刻 |
個人列 | ユーザーまたはグループ |
選択肢 | 選択肢 |
選択肢列の選択肢は以下のように入力します。
フローの作成
トリガー
インスタントクラウドフローを選択します。
手動でフローをトリガーしますを選択します。
行内に存在する行を一覧表示
OneDrive上に置いておいたExcelファイルを指定します。
指定したテーブルに存在するすべての行の情報を取得します。
変数を初期化する
ループ内で変数の宣言が出来ないためここで変数を宣言しておきます。
時間への追加
Excelの書式が日時になっていた場合、Power Automateへは1899/12/31との差の数値が返されます。
ですので、時間への追加アクションを使用して1899/12/30に取得した値を足します。
時間への追加内にExcelの日時を追加すれば自動でApply to each内に格納されます。
Apply to each内で取得したExcelデータの各行について処理をします。
変数の設定
作成しておいたNumber変数にExcelの数値を格納します。
項目の作成
数値と日時以外はExcelで取得したものをそのまま入力してください。
個人列と選択肢はカスタム値の入力よりExcelの列を選択します。
数値はテキスト型になっていますので整数型に直します。
動的なコンテンツ→式より、
int(variables('Number'))
と入力します。
日時は算出時間を使用します。
動作テスト
Excelにこのように入力します。(個人にはメールアドレスを入力してください。)
保存し、Power Automateで手動でテストします。
以下のように出力されました。個人列にはメールアドレスではなく個人の名前が入力されました。
まとめ
ExcelのデータをSharePointリストへコピペする方法を紹介しました。
移行の際にデータ型によって変換が必要だったり、入力形式の指定が必要だったりするため、エラーが出た際には参考にしてください。
コメント
[…] […]