【VB.NET】ClosedXML:テーブルの作成(1)-コレクションの挿入-

MEMO
  • この記事は GitHub - ClosedXML - Wiki を参考に書かせていただいたものですが、C# から VB.NET への書き換えをし、英語から日本語へ翻訳しただけでなく、元記事の構成・コード・コメント等を変更している場合もありますのでご了承ください。
  • 現在 ClosedXML のメンテナンスをご担当されている Francois Botha 様からの掲載許可もいただいてます。
  • この記事のコードサンプルについては、Imports ClosedXML.Excel が宣言されていることを前提としています。
  • ClosedXML の作成者について:Francois Botha, Aleksei Pankratev, Manuel de Leon, Amir Ghezelbash
  • ClosedXML のライセンスについて:GitHub - ClosedXML - MIT License

cell.Value = collection

cell.Value にコレクションを設定することによりワークシートにデータを挿入します。

 

 

cell.InsertData(collection)

cell.value = collection のかわりに cell.InsertData(collection) を使用することもできます。

cell.InsertData(collection) は、collection が挿入された範囲 (IXLRange) を返します。

cell.InsertTable(collection)

cell.value = collection のかわりに cell.InsertTable(collection) を使用することもできます。

cell.InsertTable(collection) は、collection が挿入された範囲のテーブル (IXLTable) を返します

  • InsertData と InsertTable の違いは、InsertData が列タイトルを挿入しないで範囲 (IXLRange) を返すのに対して、InsertTable は列名も挿入してテーブル (IXLTable) を返すことです。
  • Excel のテーブルを作成するかどうか、テーブル名(名前付き範囲)を付けるかどうかをオプションで指定できます。
  • (.NET 4 のみ)オブジェクトのコレクションからテーブルを挿入するとき、ClosedXML はカスタムプロパティ <ClosedXML.Attributes.XLColumn(Header:="フィールド名")> をチェックし、存在する場合は列タイトルとして使用します。存在しない場合はプロパティ名を使用します。

前述の「cell.Value = collection」で掲載したコードの cell.value = collection を cell.InsertTable(collection) に変更すると、実行結果は下図のようになります。

DataTable をワークシートとして追加する

DataTable をワークシートとして追加できます。

DataTable.TableName を設定している点に注意してください。これがワークシートの名前になります。なお、列幅の調整のコードは省略してあります。

 

複数の DataTable を DataSet にまとめて追加することもできます(複数のワークシートが追加されます)。

 

「【VB.NET】ClosedXML の使い方」の一覧を表示

コメントの投稿

avatar
  購読する  
通知を受け取る対象