Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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として扱うことで同様の処理が可能です。

nanoka
Microsoft 365 というオンラインゲームのプレイヤーです。微課金勢。
https://corporate.tech-pops.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away