次の方法で共有


方法 : データに ListObject 列を割り当てる

DataTableListObject コントロールをバインドする場合、リストにすべての列を表示したくなかったり、データにバインドされていない列が存在したりします。SetDataBinding メソッドを呼び出すときに、ListObject に表示する列をマップできます。

対象: このトピックの情報は、Excel 2013 と Excel 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

ビデオへのリンク 関連のビデオ デモについては、「How Do I: Create a List in Excel that is Connected to a SharePoint List? (操作方法: SharePoint リストに関連付けられた Excel のリストを作成する)」を参照してください。

列のマップ

リスト内の列にデータ テーブルをマップするには

  1. クラス レベルで DataTable を作成します。

    Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
    
    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. サンプルの列とデータを Sheet1 クラス (ドキュメント レベルのプロジェクトの場合) または ThisAddIn クラス (アプリケーション レベルのプロジェクトの場合) の Startup イベント ハンドラーに追加します。

    table.Columns.Add("Id", GetType(Int32))
    table.Columns.Add("FirstName", GetType(String))
    table.Columns.Add("LastName", GetType(String))
    table.Columns.Add("Title", GetType(String))
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative")
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative")
    
    table.Columns.Add("Id", typeof(int));
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative");
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
    
  3. SetDataBinding メソッドを呼び出し、表示する順序で列名を渡します。新規作成した DataTable にリスト オブジェクトがバインドされますが、リスト オブジェクト内の列の順序は、DataTable に表示される順序とは異なります。

    Me.List1.AutoSetDataBoundColumnHeaders = True
    Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
    
    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

マップしない列の指定

DataTable に列をマップする場合、空の文字列を渡すことによって、データにバインドされない特定の列を指定することもできます。データにバインドされない新しい列が、ListObject コントロールに追加されます。

ListObject 列をマップするときに非マップ列を指定するには

  • SetDataBinding メソッドを呼び出し、表示する順序で列名を渡します。空の文字列を使用して、非マップ列を追加する位置を指定します。このケースでは、タイトルの列と姓の列の間に追加します。

    Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
    
    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

コードのコンパイル

このコード例では、このコードが表示されるワークシート上に、list1 という名前の 、 ListObject が存在することを前提にしています。

参照

処理手順

方法 : ListObject コントロールにデータを読み込む

概念

アプリケーション レベルのアドインにおける実行時の Word 文書や Excel ブックの拡張

実行時の Office ドキュメントへのコントロールの追加

拡張オブジェクトによる Excel の自動化

ListObject コントロール

その他の技術情報

Office ドキュメントのコントロール