LoginSignup
16
17

More than 3 years have passed since last update.

Excel と Power Query を使って SharePoint Online リスト列の表示名や内部名を一覧で表示する

Last updated at Posted at 2021-02-23

Power Platform 等でアプリを作成する際に SharePoint Online のカスタムリストを利用する場合、DBでのテーブルの列にあたる、カスタムリストの列の定義情報を一覧にして設計書を残したいという要望があると思います。
これを手作業で確認するとすごく大変なのですが、Excel と Power Query と SharePoint REST APIを使うと、簡単に Excel にダウンロードし、一覧にできます。

手順

  1. 対象のカスタムリストが配置してある、サイトのURLと、カスタムリストの名前を調べる
  2. 列情報を取得する SharePoint REST API のエンドポイントURIを作成する
  3. Excel を開き、Power Query を実行する

1. 対象のカスタムリストが配置してある、サイトのURLと、カスタムリストの名前を調べる

今回はこんなリストを用意しました。

サイトURL

https://samplehost.sharepoint.com/sites/samplesite

カスタムリスト名
 列チェックリスト


 以下のようにいくつか列を用意しました。
image.png

2. 列情報を取得する SharePoint REST API のエンドポイントURIを作成する

先ほど調べた情報を組み合わせてエンドポイントURIを作成します。

エンドポイントURI

https://samplehost.sharepoint.com/sites/samplesite/_api/web/Lists/getbytitle('列チェックリスト')/fields

↑以下に先ほどの値から取得した値を埋め込んだもの↑
https://{hostname}/sites/{sitename}/_api/web/Lists/getbytitle('{listname}')/fields

3. Excel を開き、Power Query を実行する

準備が整ったので Excel で一覧にしていきます。

  • 新規に Excel ファイルを作成します。
    image.png

  • "データ"タブから"データの取得 > その他のデータソースから > Odataフィードから"を選択します。
    image.png

  • 以下のような画面が表示されるので、2.で作成したエンドポイントURIを入力し、"OK"を選択します。
    ※この後、SharePoint Online の環境に関して、サインインを求めるダイアログが表示される可能性があります。その場合、画面の指示に従って、サインインしてください。
    image.png

  • 少しの待ち時間の後、その後以下のような画面が表示されますので、"読み込み"を選択します。

image.png

  • もとの Excelファイルに戻ってくると、列の内部名(InternalName/StaticName)、表示名(Title)を含む情報が一覧になっていることが確認できます。
    日本語で列名を付けたものは、わかりにくい内部名ですが、それも取得できています。
    image.png

  • 列の種類等の情報も同時に取得できています。
    image.png

Excel にデータがきてしまえばこっちのもの?あとは自由にご利用ください。

まとめ

設計書とか必要なレベルのものを作るべきかどうかは別として、自由に作られてきたカスタムリストを急に管理しなくてはならなくなった時などに使えるかなと思います。
REST API をご存じであれば、sitegroup 等その他のエンドポイントにも応用が可能です。

API 2.0 でも利用できますが、あちらは、Odataフィードだとうまくいかなかったので、JSONとして扱うことで同様の処理が可能です。

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17