この記事では、Excel データをデータ ソースとして使用してキャンバス アプリを作成する方法について説明します。 ビジネス データを含む既存の Excel スプレッドシートがある場合でも、Excel の使い慣れた構造を活用する場合でも、Power Apps には、データを強力なアプリケーションに変換するための柔軟なオプションが用意されています。
Excel データを操作する 3 つの異なる方法について説明します。
Excel ファイルをアップロードして、データ管理とセキュリティを強化するための Dataverse テーブルを作成します。クラウド サービスに保存されている外部 Excel ファイルに接続して、迅速にアプリを作成し始めます。空白のキャンバス アプリから始めて、完全なカスタマイズ制御のために Excel データを追加します。開始する前に、Excel データが適切に書式設定されていることを確認してください。 この準備手順は、Power Apps がデータをより効果的に読み取って操作するのに役立ちます。 詳細については、「Excel で 表として書式設定する」を参照してください。
Excel データを使用してアプリを作成するには、 Power Apps で次のいずれかのオプションを選択します。
| Excel を使用してオプションを作成する | メリット | ナビゲーション |
|---|---|---|
| Excel または CSV ファイルを Power Apps にアップロード | Dataverse テーブルを生成するアップロードされた Excel データ。 Dataverse の標準テーブルとカスタム テーブルを使用すると、データをクラウドに安全に保存できます。 これらのテーブルを使用すると、ビジネス ニーズに合わせた方法で組織のデータを定義できるため、アプリ内での使用が容易になります。 | [Start with Data]\(データから開始\)>[ファイルのアップロード]を選択します。 |
| 外部 Excel ファイルに接続し、それを使用して キャンバス アプリを作成します。 データは、その場所にとどまります。 | Power Apps で Excel コネクタを使用すると、Excel に格納されているデータを含むアプリを簡単かつ迅速に作成して展開できます。 これは、既に Excel を使用していて、最小限の労力でその機能を強化したいと考えている作成者にとって特に有利です。 作成者は、クラウドアクセス、簡単なデータ操作、ラピッドプロトタイピング、複雑なデータベース設定の必要がないというメリットがあります。 | [データから開始]>Excel Online (Business) を選択します。 |
| 空白の キャンバス アプリ を作成し、Excel データを追加する | 完全な柔軟性、制御、およびカスタマイズが可能です。 これにより、事前に設計されたテンプレートによって制限されることなく、正確な仕様を満たすアプリを設計でき、独自のニーズに合わせてクリエイティブな自由と適応性が向上します。 | 左側のナビゲーション ウィンドウで、 作成>空白から作成を選択します。 次に、アプリのサイズを選択します。 |
Excel または CSV ファイルを Power Apps にアップロードする
Power Apps に Excel データをアップロードしても、Excel ファイルとしてのみ残るわけではありません。 代わりに、Power Apps によって Dataverse テーブルに変換されます。 この変換により、Power Apps 内でのデータの統合と管理が容易になり、Excel を単独で使用する場合と比べて、より強力な機能が得られます。 詳細については、Dataverse を使用する理由 を参照してください。
Power Apps にサインインします。
ホーム画面で、[ データから開始] を選択します。
[ アプリの作成 ] ページで、[ ファイルのアップロード] を選択します。
[デバイスから選択] を選択し、Excel ファイルが保存されている場所に移動します。 アップロードするファイルを選択します。
注
ファイル サイズの最大制限は 5 GB です。
Power Apps でテーブルが作成されたら、列名またはテーブル名を選択して、ニーズに合わせてプロパティを編集します。 列のデータ型を変更し、選択したデータ型と一致しない値がセルに存在する場合、Power Apps はテーブルの生成時にこれらの値を削除します。 詳細については、Power Apps を使用してテーブルを作成および編集する を参照してください。
行の所有権 を選択し、行の所有権を管理する方法を選択します。
終了後は、アプリを保存して開く を選択します。 Power Apps は、最初の 20 行のデータをアップロードして、アプリ内のデータの確認を開始できるようにします。 残りのデータはバックグラウンドでアップロードされます。
既知の問題
- 現在のデータ アップロード プロセスでは、環境データ形式の設定は考慮されていません。
Power Apps から外部 Excel ファイルに接続する
Dropbox、Google Drive、OneDrive、OneDrive for Business などのクラウド ストレージ サービスに Excel ファイルを格納してください。なぜなら Power Apps はクラウドに保存されている Excel ファイルにのみ接続できます。
Power Apps には、Excel データへのアクセスに使用できる Excel コネクタがあります。 Excel Online (Business) コネクタは、さまざまなクラウドベースのファイル ストレージ サービスにアクセスすることで柔軟性を提供します。
Power Apps にサインインします。
ホーム画面で、[ データから開始] を選択します。
[ アプリの作成] で、[ Excel Online (Business)] を選択します。
一度に表示される接続は 1 つだけです。 別の接続を選択するには、[ ... ] ボタンを選択して接続を切り替えるか、新しい接続を追加します。
ファイルの場所を入力して、テーブルを選択します。
終了後は アプリの作成 を選択します。
Excel データを共有する方法の詳細については、Excel テーブルの共有 を参照してください。
空白の キャンバス アプリ を作成し、Excel データを追加する
空のアプリを作成し、 表として書式設定された Excel データをアプリの情報のソースとして使用します。
以下の例に従って、ユーザーが 1 つの画面で Excel ファイルのデータを表示 (参照) し、別の画面でそのデータを操作 (追加、変更、または削除) できる 2 つの画面を持つアプリを作成します。 レコードの作成、更新、削除などのデータ 対話 機能は、アプリの 2 番目の画面に組み込まれています。
前提条件
このデータをコピーし、Excel ファイルに貼り付けます。
開始日 開始時刻 ボランティア Backup 土曜日 午前10時~正午 Vasquez Kumashiro 土曜日 正午~午後2時 氷 Singhal 土曜日 14時から16時 Myk ミュラー 日曜日 10時から正午まで Li Adams 日曜日 正午~14時 Singh Morgan 日曜日 14時から16時 Batye Nguyen Excel のターブルを書式設定し、スケジュール と言う名前を付けて、Power Apps が情報を解析できるようにします。
ファイルを eventsignup.xlsxとして保存し、閉じてから、OneDrive などの クラウド ストレージ アカウント にアップロードします。
重要
独自の Excel ファイルを使って、この例の一般的な概念だけを確認できます。 ただし、Excel ファイルのデータは、テーブルとして書式設定されている 必要があります。
空のアプリを作成してデータに接続する
Power Apps にサインインします。
左側のナビゲーション ウィンドウで、 作成>空白から開始を選択します。
電話サイズ レイアウトを選択します。
アプリが Power Apps Studio で開き、ここではデータを追加してアプリの構築を開始できます。
画面の中央で データに接続する を選択します。
データ ウィンドウで、データの追加 を選択します。 クラウド ストレージ アカウントへの接続が表示される場合は、それを選択します。 それ以外の場合は、OneDrive のように次の手順で接続を追加します。
- 検索ボックスに、OneDrive を入力して、それを選択します。
- 接続を追加 を選択します。
- 接続ウィンドウで、接続 を選択します。
- メッセージが表示されたら、そのアカウントの資格情報を指定します。
Excel ファイルの選択 で、先ほど保存した eventsignup.xlsx を見つけて選択します。
[ テーブルの選択] で、[ スケジュール] のチェック ボックスをオンにし、[ 接続] を選択します。
[データ] ウィンドウの右上隅にある閉じるアイコン (X) を選択して閉じます。
表示スクリーンを作成する
コマンド バーで、新規画面>リスト の順に選択します。
検索ボックスや ギャラリー コントロールなど、いくつかの既定のコントロールを含む画面が追加されます。 ギャラリーは、検索ボックスの下の画面全体に広がる領域になります。
新しい画面の上部にある [タイトル] ラベル コントロールを選択し、 レコードの表示に名前を変更します。
ツリー ビュー で、BrowseGallery1 を選択します。
ギャラリーの プロパティ ウィンドウで、Layout を Title, subtitle, and body に設定します。
数式バーの CustomGallerySample を Schedule に置き換え、SampleText の両インスタンスを Volunteer に置き換えます。
数式バーの右端で下向き矢印を選択し、数式バーの展開 の下矢印を選択して、テキストの書式設定 を選択します。
数式が、この例と一致します。
SortByColumns( Search( Schedule, TextSearchBox1.Text, "Volunteer" ), "Volunteer", If( SortDescending1, SortOrder.Descending, SortOrder.Ascending ) )プロパティ ウィンドウで、Fields ラベル横の Edit を選択します。
Title2 ボックスで Volunteer を選択し、Subtitle2 ボックスでは StartDay を選択し、Body1 ボックスでは StartTime を選択します。
データ ウィンドウの右上隅の閉じるアイコン (X) を選択してそれを閉じます。
ユーザーは、この数式の SortByColumns 関数と Search 関数に基づいて、ボランティア名でギャラリーを並べ替えたりフィルター処理したりできます。
- ユーザーが検索ボックスに文字を入力すると、Volunteer フィールドにその文字が含まれるレコードだけがギャラリーに表示されます。
- ユーザーが (タイトル バーの更新ボタンとプラス ボタンの間の) 並べ替えボタンを選ぶと、ギャラリーのレコードは Volunteer フィールドの値に基づいて (ユーザーがボタンを選んだ回数に応じて) 昇順または降順に並べ替えられます。
これらの関数とその他の関数の詳細については、数式のリファレンスを参照してください。
変更スクリーンを作成する
コマンド バーで新しい画面>フォームの順に選択します。
ツリー ビュー で、EditForm1 を選択します。
プロパティ ウィンドウで、データ ソースの横の下向き矢印を選択し、表示されたリストでスケジュール を選択します。
先ほど指定したデータ ソースの下で、フィールドの編集 を選択します。
フィールド ウィンドウでフィールドの追加を選択し、各フィールドのチェック ボックスをオンにしてから、追加を選択します。
各フィールドの名前の横の矢印を選択して折りたたみ、Volunteer フィールドを上にドラッグし、フィールドのリストの上部にそれが表示されるようにします。
フィールド ウィンドウの右上隅の閉じるアイコン (X) を選択してそれを閉じます。
フォームの Item プロパティを数式バーのこの式に設定します。
BrowseGallery1.Selectedスクリーン上部の ラベル コントロールを選び、[Title] を Change records に置き換えます。
スクリーンの削除と名前の変更
ツリービュー で、Screen1 の省略記号 (...) を選択して、削除 を選択します。
Screen2 の省略記号 (...) を選択して、名前の変更を選択してから、ViewScreen と入力するか貼り付けます。
Screen3 の省略記号 (...) を選択して名前の変更を選択してから、ChangeScreen と入力するか貼り付けます。
表示スクリーンのアイコンを構成する
ViewScreen の上部で、円形の矢印アイコンを選択します。
そのアイコンの OnSelect プロパティに次の数式を設定します。
Refresh(Schedule)ユーザーがこのアイコンを選ぶと、Schedule からのデータが Excel ファイルから更新されます。
この関数とその他の関数について詳しくは、数式の参照 を参照してください。
ViewScreen の右上隅で、プラス アイコンを選びます。
そのアイコンの OnSelect プロパティに次の数式を設定します。
NewForm(EditForm1);Navigate(ChangeScreen,ScreenTransition.None)このアイコンをユーザーが選択すると、各フィールドが空の状態で ChangeScreen が表示され、ユーザーはレコードをさらに簡単に作成できます。
ギャラリーで最初のレコードに対する右向きの矢印を選択します。
矢印の OnSelect プロパティに次の数式を設定します。
EditForm(EditForm1); Navigate(ChangeScreen, ScreenTransition.None)ユーザーがこのアイコンを選択すると、ChangeScreen の各フィールドに選択したレコードのデータが表示され、ユーザーはさらに簡単にレコードを編集または削除できます。
変更スクリーンのアイコンを構成する
ChangeScreen で、左上隅の "X" アイコンを選択します。
そのアイコンの OnSelect プロパティに次の数式を設定します。
ResetForm(EditForm1);Navigate(ViewScreen, ScreenTransition.None)ユーザーがこのアイコンを選択すると、アプリはこの画面で行われた変更を破棄し、表示画面を開きます。
右上隅にあるチェックマーク アイコンを選択します。
チェックマークの OnSelect プロパティに次の数式を設定します。
SubmitForm(EditForm1); Navigate(ViewScreen, ScreenTransition.None)ユーザーがこのアイコンを選択すると、アプリはこの画面で行われた変更を保存し、表示画面を開きます。
挿入 タブで アイコン を選択し、ごみ箱 アイコンを選択します。
新しいアイコンの Color プロパティを White に設定し、新しいアイコンをチェックマーク アイコンの隣に移動します。
ごみ箱アイコンの Visible プロパティに次の数式を設定します。
EditForm1.Mode = FormMode.Editこのアイコンは、フォームが 新規 モードではなく、編集 モードのときのみ表示されます。
ごみ箱アイコンの OnSelect プロパティに次の数式を設定します。
Remove(Schedule, BrowseGallery1.Selected); Navigate(ViewScreen, ScreenTransition.None)
ユーザーがこのアイコンを選択すると、アプリは選択したレコードをデータ ソースから削除し、表示画面を開きます。
アプリをテストする
ViewScreen を選択し、F5 を押すか、プレビュー を選択してアプリをプレビューします。
検索ボックスに文字を 1 つ以上入力するか貼り付けて、ボランティアの名前に基づいてリストをフィルター処理します。
ボランティアの名前に基づいてデータを昇順または降順で表示するために、並べ替えアイコンを 1 回以上選択します。
レコードを追加します。
追加したレコードを更新してから、変更を保存します。
追加したレコードを更新してから、変更を取り消します。
追加したレコードを削除します。
Esc キーを押す、または右上隅の閉じるアイコンを選んで、プレビュー モードを閉じます。
次の手順
- 他のデバイスから実行できるように、Ctrl+S キーを押してアプリをクラウドに保存します。
- アプリを共有 して、他のユーザーが実行できるようにします。