技術情報ブログ
SharePoint
2025.06.18

SharePoint: 「スキーマを含むCSV」でリストを移行する(後編)  

SharePoint: 「スキーマを含むCSV」でリストを移行する(後編)  
小鷹 枝里子

こんにちは。アーティサンの小鷹です。

はじめに

本記事では、「スキーマを含むCSV」を活用した、内部名や列設定を含むSharePointリストの移行方法についてご紹介します。

SharePointを利用していると、「リストを別のサイトへ移行したい」といったニーズが発生することがあります。

「スキーマを含むCSV」を使用してリストを移行することで、内部名を含めたリストの移行が簡単に行えます。
今回は、「スキーマを含むCSV」を使用したリスト移行の応用例と、移行時の制約について詳しく解説します。

※前編では、「スキーマを含むCSV」の概要と、他の移行方法との比較についてご紹介しました。ぜひそちらもご覧ください。

 

おさらい: 「スキーマを含むCSV」の出力方法とリストの作成(移行)方法

前編からのおさらいも兼ねて、「スキーマを含むCSV」を使用した基本的な移行手順について改めて説明します。

 

「スキーマを含むCSV」を出力する

SharePointリストにアクセスし、上部メニューの「エクスポート」を選択します。
展開されるメニューから、「スキーマを含むCSVにエクスポート」を選択します。

「スキーマを含むCSV」でエクスポート

これにより、「スキーマを含むCSV」が出力されます。

 

「スキーマを含むCSV」を使用してリストを作成(移行)する

リストを作成(移行)したいSharePointサイトにアクセスし、「+新規」ボタンを選択して展開されるメニューから「リスト」を選択します。

  • 「リストを作成」画面で「CSV」を選択します。

    リストの作成-1
  • 「CSVから」画面で、「ファイルのアップロード」ボタンを押下し、前の手順で出力した「スキーマを含むCSV」を選択します。

    「ファイルのアップロード」
  • CSVファイルを選択後、「カスタマイズ」画面に進みます。
    この画面では、インポートする列の選択や列の種類を設定できます。

    リストの作成-2_カスタマイズ
    作成できる列の種類
  • リストの名前を設定し、「作成」ボタンを押下します。

    注意:リストの作成時、移行元のリスト名は引き継がれません。

    リストの内部名を設定したい場合は、この画面でリスト名を英数字する必要があります。
    (内部名の詳細については、「内部名とは」を参照してください。)

    リストの作成-3_カスタマイズ
  • インポートが完了すると、自動的に作成したリストに遷移します。

 

応用例

この章では、「スキーマを含むCSV」を使用した移行の応用例についてご紹介します。

出力した「スキーマを含むCSV」を編集することで、次のような応用が可能になります。

 

応用例1:移行元のリストの列の内部名を変更して移行する

「スキーマを含むCSV」には列の情報が含まれており、その中に内部名も含まれています。

これを編集することで、移行先のリストの内部名を移行元と異なる名前に設定できます。

 

内部名の変更方法

  • 出力した「スキーマを含むCSV」を開きます。

    ※ Excelで開いて保存すると、リスト作成時にエラーが発生したり、1行目の列情報がうまく認識されない場合があります。Excel以外のテキストエディターで開くことをおすすめします。

  • 1行目の「Field ID=」からはじまる山括弧(<>)の塊が列の情報になります。

    表示名と内部名は以下の通りです。

    • DisplayName:表示名

    • Name:内部名

    表示名(DisplayName)で検索し、内部名(Name)の値を変更します。
    内部名変更の際は、「\”」を消さないように注意してください。

    内部名の変更方法2

    ※ 列の情報の中に「StaticName」の値がありますが、この値は変えなくても大丈夫です。
    (内部名の設定には「Name」の値を使用します)

  • 編集したCSVを使用してリストを作成します。

これでリスト移行時に列の内部名を変更できます。

 

応用例2:列のみ移行する

アイテムの移行が不要で、リストの列のみ移行したい場合もあります。

同一テナント内であればリスト作成時に「既存のリストから」を選択すればよいですが、テナントが異なると使用できません。

「既存のリストから」で使用できるのは同じテナント間のリストのみ

異なるテナント間でリストの列のみ移行したい場合も、「スキーマを含むCSV」を使用することで対応できます。

 

CSV編集方法

  • リストを「スキーマを含むCSV」でエクスポートし、CSVを開きます。

    ※ Excelで開いて保存すると、リスト作成時にエラーが発生したり、1行目の列情報がうまく認識されない場合があります。Excel以外のテキストエディターで開くことをおすすめします。

  • 3行目以降(アイテムの情報)をすべて削除し、1行目と2行目のみ残して保存します。

    列の情報のみ移行する2

これで異なるテナント間でも列を簡単に移行できます。

 

注意点

 

作成できる列の種類

CSVを使用してリストを作成する際、指定できる列の種類は以下の通りです。

  • 1行テキスト

  • 複数行テキスト

  • 数値

  • はい/いいえ

  • 日付と時刻

  • 選択肢

  • 通貨

  • 日付と時刻

  • ハイパーリンク

  • ユーザーまたはグループ

これらの列の種類は、リスト作成のカスタマイズ画面で、各列の上部にあるドロップダウンメニューから選択できます。

作成できる列の種類

 

作成できない列の種類

以下の列の種類は、CSVでの作成では現在サポートされていません。

サポートされていない列については、カスタマイズ画面で選択可能な列の種類から選び直すか、インポートしない設定にする必要があります。

  • 場所

  • 画像

  • 管理されたメタデータ

  • 参照

  • 平均評価

  • 集計値(計算列)

  • タスクの結果

  • 外部データ

 

複数選択可能なオプションについて

選択肢列やユーザーまたはグループ列には、複数選択できる設定があります。
「スキーマを含むCSV」でリストを作成すると、複数選択可能な設定でも、列の設定やアイテムのデータが移行元と同様に作成されます。

ちなみに、「スキーマを含むCSV」でエクスポートしたCSVを見ると、列の設定の中に「Mult」というパラメータがあります。
この値がTRUEだと、「複数選択を許可」設定がONになります。
※「複数選択を許可」設定がOFFの場合は、このパラメータ自体がありません。

Mult

 

複数行テキスト列:リッチテキストについて

複数行テキストのリッチテキストも対応可能です。

リッチテキストをCSVでエクスポートすると、HTMLコード含めてエクスポートされるので、移行元のリストと同じ見た目で作成されます。

 

ユーザーまたはグループ列について

ユーザーまたはグループ列は、ユーザーやM365グループなどのグループの情報を登録できる列の種類です。

ユーザーまたはグループの種類によって、リスト作成(移行)時に以下のような違いがありました。
※テナント内に登録がないユーザーやグループの情報を含むアイテムはエラーになります。

  • ユーザー

    問題なくCSVに出力できます。リストの作成も問題ありませんでした。

  • グループ

    列に登録されているグループによって以下のように異なりました。

  • M365グループ

    リスト作成時にエラーになります。(同じテナント内でもエラーとなります。)

  • メールが有効なセキュリティグループ

    問題なく作成できました。

  • セキュリティグループ(メールアドレスなし)

    「スキーマを含むCSV」で出力をしてみると、空欄でした。

    そのため、リスト作成時にエラーは出ないのですが、その項目は空欄で作成されます。
    (CSVで出力する際、「ユーザーまたはグループ」列にはそのユーザーやグループのメールアドレスが記載されます。この種類のセキュリティグループはメールアドレスがないため、空欄となる訳です)

 

アイテムの添付ファイルについて

「スキーマを含むCSV」では、アイテムの添付ファイルの移行に対応していません。

「スキーマを含むCSV」に含められる添付ファイルに関する情報は、「添付ファイル」という列のみです。
この列は、添付ファイルがあるアイテムにはクリップのアイコンが表示されます(添付ファイルなしの場合は空欄)。

添付ファイル列

「スキーマを含むCSV」にエクスポートすると、添付ファイル列は出力されるものの、画面上でクリップのアイコンが表示されていたアイテムは「1」空欄のアイテムは「0」の数字として出力されます。

この状態でリストを作成しても、添付ファイルそのものは移行されません。1または0が記載された「添付ファイル」列が移行されるのみです。
添付ファイルを含めてリストを移行したい場合は、添付ファイルを含めた移行をサポートする方法の利用をおすすめします。

 

テナント内に登録がないユーザーやグループの情報を含むアイテムはエラーになる

「スキーマを含むCSV」でリストを作成する際、テナント内に登録されていないユーザーやグループが含まれている場合、エラーが発生します。
エラーが発生したアイテムを省略して作成を続行するか、再インポートするかを選択できます。

内部名の変更方法1

 

リスト設定は移行できない

「スキーマを含むCSV」には、リストの詳細設定やバージョン設定等のリスト設定が含まれていません。

そのため、「スキーマを含むCSV」を使用した方法では、リストの設定は引き継がれません。
(「スキーマを含むCSV」で作成したリストは、すべて規定の設定になります。)

リスト設定がカスタマイズされたリストを「スキーマを含むCSV」を使用した方法で移行する場合は、設定を別途手動などで行う必要があります。

 

ビューも移行できない

リスト設定と同様に、「スキーマを含むCSV」にはビューの設定情報も含まれていません。

そのため、「スキーマを含むCSV」を使用した方法では、ビューも引き継がれません。
ビューをカスタマイズしたリストを「スキーマを含むCSV」で移行する場合も、別途手動などで設定する必要があります。

ハイパーリンク列はURLのみ移行される

ハイパーリンク列では、代替文字列が移行されず、URLがそのまま表示されます。

ハイパーリンク列では代替文字列が移行されない

 

「スキーマを含むCSV」使用時のタイトル列の注意点

**※2025年4月時点の情報です**

 

「スキーマを含むCSV」を使用してリストを作成するとタイトル列が必ず必須になる

「スキーマを含むCSV」を使用してリストを作成すると、タイトル列は「スキーマを含むCSV」に記載してある必須/任意の設定に関わらず、必須として出力されます。
(「スキーマを含むCSV」のタイトル列の情報には Required=\”FALSE\” と記載されていても、それを使用してリスト作成すると必須列として作成されます)

元のリストでタイトル列が必須だった場合は影響ありませんが、必須に設定していた場合は、リスト作成後にタイトル列の必須/任意の設定を確認し、必要に応じて修正することをおすすめします。

 

タイトル列が不要なリストを「スキーマを含むCSV」にエクスポートする時の注意

「スキーマを含むCSV」にエクスポートする際、タイトル列以外の 1 列だけを表示してエクスポートした CSV を使用してリストを作成すると、そのデータがタイトル列にインポートされてしまいます。
(インポート時に、タイトル列以外の列の種類を選択することはできません。)

この問題を回避するには、ダミーの列を追加して表示した状態でエクスポートする方法があります。
または、エクスポート時に一時的にタイトル列を表示させることで対応することも可能です。

インポート時、[タイトル]列以外の列の種類を選択できない

 

タイトル列の DisplayName がカタカナの「タイトル」だと編集フォームから消える

「スキーマを含むCSV」を出力した際に、タイトル列の DisplayName がカタカナの「タイトル」になっていると、編集フォームから [タイトル] 列が消えてしまう現象を確認しています。

この問題を回避するには、出力した CSV を編集し、タイトル列の DisplayName を英語の「Title」に変更してください。

特に、日本語のサイトで作成したリストではタイトル列がカタカナの「タイトル」になっていることが多いため、「スキーマを含むCSV」を使用してリストを作成する際は、事前に確認することをおすすめします。

※ ただし、英語の「Title」に変更すると、その CSV を使用してリストを作成した時、タイトル列は必ず任意列として作成されるので注意が必要です。
(「スキーマを含むCSV」のタイトル列の情報にはRequired=\”TRUE\”と記載されていても、それを使用してリスト作成すると任意列として作成されます)

元のリストでタイトル列が任意だった場合は影響ありませんが、必須に設定していた場合は、リスト作成後にタイトル列の必須/任意の設定を確認し、必要に応じて修正することをおすすめします。

 

DisplayName(列の表示名)が「Type」の列はインポートできない

「スキーマを含むCSV」を使用してリストを作成する際、DisplayName が「Type」の列はインポートできず、「カスタマイズ」画面で「インポートしない」に固定されてしまいます。
※全部小文字の「type」だとこのインポートできない問題は発生しません

この現象は、表示名(DisplayName)が「Type」の場合にのみ発生し、内部名が「Type」であっても問題はありません。また、選択肢の個数や列の種類に関わらず同じ現象が発生していました。

列の表示名が「Type」のみインポートできない

回避策として、「スキーマを含むCSV」を出力する前に「Type」列の表示名を他の名前に変更すると確実です。
また、CSV 出力後に「Type」列の表示名を一時的に変更し、その後リストを作成することでも対応できます。

具体的には、以下のとおりです。

  • 「スキーマを含むCSV」内で「Type」列の 「DisplayName」と2行目のヘッダーを別の名前に変更

  • 変更した「スキーマを含むCSV」を使用してリストを作成

  • 作成後にリスト上の列の表示名を「Type」に戻す

この手順で、問題を回避しつつリストを作成できます。

 

さいごに

いかがでしたでしょうか。
本記事では、「スキーマを含むCSV」を使用したSharePointリストの移行方法をご紹介しました。

この移行方法は、内部名を含むリスト移行を簡単に実施できる点が特徴です。新たな移行方法として、ぜひご活用いただければと思います。
本記事が、リスト移行の選択肢を増やす一助となれば幸いです。

SharePointの移行やその他のご相談がございましたら、ぜひアーティサン株式会社までお気軽にお問い合わせください。

 Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当の小鷹枝里子

小鷹 枝里子

小鷹枝里子さんのブログ一覧はこちら

2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。

今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。

山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。

趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。

推しのうまい棒は納豆味。

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

SharePoint: 「スキーマを含むCSV」でリストを移行する(後編)  

2025.06.11

SharePoint: 「スキーマを含むCSV」でリストを移行する(前編)

2025.06.04

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(2) 実践編

2025.05.28

Power Apps:テストやってますか? テストスタジオの使い方のご紹介(1) 基本知識編

2025.05.21

社員が毎日使いたくなる!SharePoint社内ポータルの作り方と成功のポイント

AccessCSSBreakpointObserverSet承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行InfoPathxUnitメディアクエリForAllform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータルMatTable.Net Core 3.1スマホUpdateContextエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアAngular MaterialVSCodePCロードマップインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントデータ構造.Net Core Test Explorerレスポンシブ技術カスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体モデル駆動型アプリSortByColumns関数Dataverse for Teams入門ItcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot StudiotPower AppsTypeScriptitem関数初心者情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXPower PlatformHTMLGoogle Maps中級者メッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体SharePointEF CoreMarker Clustererキャンバスアプリメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例ExcelマイグレーションRANK()関数DatePickerfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用Power AutomateFramework CoreDynamics 365 SalesDropdownnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化C#Attribute directivesMicrosoft Translatorview入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズattributeO/Rマッパーマーカークラスタリングライブラリビュー動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンターvalidationazure sql databasetailwindcssアクセス制限collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成ローコードCase式マルチテナント承認コレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張AngularHTTP Requestドロップダウンメニューリマインド複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365
PageTop
ページトップに戻る