バージョン

ワークシートの名前付きテーブルのサポート

トピックの概要

目的

このトピックは、Infragistics Excel Engine でのテーブルのサポートを説明します。

概要

名前付きテーブルの概要

新しくサポートされた構造を表すために新しいクラスが Infragistics Excel Engine に追加されます。テーブルのコレクションが Worksheet クラスから公開され、カスタムおよび標準のテーブル スタイルが Workbook クラスから公開されます。

Microsoft Excel® のテーブルは列に配列された関連したデータを含むセルの名前が指定された四角形の領域です。テーブルは、そのデータを管理および分析することを可能にする組み込み機能も含みます。そのデータに加えて、テーブルには、データの列ごとのヘッダーの行と合計行も含まれます。

主要機能

機能の概要

以下の表で、Infragistics Excel Engine のテーブル サポートの主要機能を簡単に説明します。追加の詳細は、以下の概要表の後に提供します。

機能 説明

テーブルにアクセス

テーブルは WorksheetTable クラスによって表され、 Worksheet Tables コレクションを通して主にアクセスされます。

テーブルを作成

以下の方法のいずれかの方法でテーブルを作成できます。

  • Worksheet.Tables コレクションで [オーバーロードを追加] の 1 つを使用する。これは、テーブル領域を示す文字列と、テーブルにヘッダーがあるかどうかを示すブール値を作成します。

  • 既存の WorksheetRegion インスタンスで FormatAsTable オーバーロードの 1 つを呼び出す。

テーブルのスタイル設定

各テーブルには、テーブルの多くの異なる領域内のセルにデフォルトの書式設定を提供する関連付けられたスタイルがあります。このスタイルは、 WorksheetTableStyle クラスによって表され、WorksheetTable Style プロパティからテーブルで公開されます。

テーブルの列

テーブルの各列は WorksheetTableColumn クラスで表され、各テーブル内の列は読み取り専用の WorksheetTable Columns コレクションによって公開されます。

列のフィルター

テーブルの列は、WorksheetTableColumn クラスで定義された Apply …Filter メソッドの 1 つを呼び出すことによってフィルターできます。

詳細は、 テーブルのフィルタリングのトピックを参照してください。

列の並べ替え

テーブル内の列は、WorksheetTableColumn SortCondition プロパティに並べ替え条件を適用することで並べ替えることができます。

詳細は、 テーブルの並べ替えのトピックを参照してください。

テーブルにアクセス

Worksheet Tables コレクションによってワークシートでテーブルを作成および削除できます。さらに、Workbook GetTable メソッドを使用して、またはテーブル内のセルの 1 つの WorksheetCell AssociatedTable プロパティを取得することによって、テーブルを名前で取得できます。ワークブックが保存されるときにファイルと一緒に Worksheet.Tables コレクションのテーブルが保存され、そのファイルを開くときに Microsoft Excel のワークシートに表示されます。

テーブルを作成

新たに作成された WorksheetTable インストールをカスタマイズできます。以下の動作はテーブルの作成と関連付けられます:

動作 説明

範囲内の結合セル

テーブルとして書式設定するセルの領域内に結合セルがある場合、ワークシートから削除されます。これらの結合セル内にあったすべての個々のセルを含めるために必要であればテーブルの領域が拡張されます。

ヘッダー行のセル

作成されたテーブルにヘッダーがあるように指定する場合、ヘッダー行内のすべてのセルには文字列に変換された値があり、その値はテーブル内のすべての列で一意になります。列名の第二、第三の複製に番号を追加することで実行されます。

Note
注:

列名は、等しいことを決定するために大文字と小文字を区別せずに比較されます。

デフォルトのテーブル スタイルの場合

WorksheetTableStyle インスタンスを受け入れないメソッド オーバーロードを使用してテーブルを作成する場合、Workbook DefaultTableStyle が使用されます。

1 行の領域

行が 1 行ある領域をテーブルとして書式設定し、ヘッダーを付ける、つまりデータ領域に行がない場合、ヘッダーの下の行は挿入行です。これは、その行のセルがテーブルを AssociatedTable 値として返し、テーブル内に含まれるすべての書式設定と関連付けられたスタイルで書式設定されることを意味します。

これが以下の行のセルにテーブルを拡大するという事実が原因となって、ヘッダー行の下のセルに関係して以下のいずれかのアクションが行われます:

場合 説明

ヘッダー行の下に値または数式が存在する

ヘッダー行の直下のセル内に値または数式があり、書式設定されたテーブルに含まれるのと同じ列にある場合、挿入行のセルが挿入されます。

Note
注:

これは、ヘッダー行の真下のワークシートにセルが挿入され、ワークシートの残りにあるそれらの下にあるすべてのセルは 1 行ずつ下に移動されることを意味します。

書式設定されたテーブルと交差しない列内のセルには影響がありません。

ヘッダー行の下に値または数式が存在しない

ヘッダー行の真下の行内のセルに値または数式がない場合、セルは挿入されず、挿入行は、ヘッダー行の下の既存のセルに入るだけです。

テーブルのスタイル設定

各テーブルには関連付けられたスタイルがあります。このスタイルは、WorksheetTableStyle クラスによって表され、WorksheetTable.Style プロパティを通じてテーブルで公開されます。このスタイルは、以下の 3 つのプロパティによって Workbook クラスから公開されます:

スタイル 説明

これは、ワークブックと保存されない 60 のプリセット テーブル スタイルのコレクションです。このコレクションのすべてのテーブル スタイルは読み取り専用で、セル自体またはスタイルのサブオブジェクトでプロパティを設定しようとすると、例外がスローされます。

Clone メソッドで複製し、クローンされたインスタンスを CustomTableStyles コレクションに追加することで、これらのスタイルをカスタマイズできます。

これは、ワークブックと保存されるユーザー定義のテーブル スタイルのコレクションです。このコレクションは読み取り/書き込みでこのコレクション内のすべてのテーブル スタイルを修正できます。

Note
注:

このスタイル内のスタイル名はすべて大文字と小文字を区別せずに一意です。

これは、スタイルが指定されないときに新たに作成されたテーブルに適用するスタイルです。null 以外の WorksheetTableStyle インスタンスを常に返します。これが設定されない、またはファイルからロードされる場合、StandardTableStyles コレクションから TableStyleMedium2 スタイルにデフォルトで設定されます。

Note
注:

1 つ以上のテーブルが作成された後で DefaultTableStyle が変更される場合、これらの既存のテーブルは影響を受けません。このプロパティは新たに作成されたテーブルのみに影響します。

このプロパティがカスタムのテーブル スタイルのいずれかに設定され、そのテーブル スタイルがワークブックから削除される場合、DefaultTableStyleTableStyleMedium2 スタイルに戻ります。

テーブル スタイルは、領域レベル (個々のセル レベルではなく) でテーブルの外観を制御することを可能にする多くのプロパティを定義します。

テーブル スタイルで適用される書式を持つことができる 13 の領域があります。これらは、すべてのオプションの書式ですが、設定されると、差分の書式として適用されます。これは、デフォルトではない書式の値のみがセルに表示されることを意味します。ただし、これらは、セルに直接的に適用されません。

セルは固有の書式を保持し、非デフォルト値に設定されると、セルの各書式プロパティはテーブル スタイルから領域書式をオーバーライドします。以下は、WorksheetTableStyleArea 列挙体によって定義される、書式を適用できる 13 の領域のリストです。これらは WorksheetTableStyle AreaFormats コレクションによって公開され、優先順位の順にここにリストされます。

領域の書式 説明

WholeTable

テーブル全体に適用される書式。

ColumnStripe

テーブル内の奇数番号の列の背景の縞模様に適用される書式。

AlternateColumnStripe

テーブル内の偶数番号の列の背景の縞模様に適用される書式。

RowStripe

テーブル内の奇数番号の行の背景の縞模様に適用される書式。

AlternateRowStripe

テーブル内の偶数番号の行の背景の縞模様に適用される書式。

LastColumn

テーブル内の最後の列に適用される書式。

FirstColumn

テーブル内の最初の列に適用される書式。

HeaderRow

テーブル内のヘッダー行に適用される書式。

TotalRow

テーブル内の合計行に適用される書式。

FirstHeaderCell

テーブル内の最初のヘッダー セルに適用される書式。

LastHeaderCell

テーブル内の最後のヘッダー セルに適用される書式。

FirstTotalCell

テーブル内の最初の合計セルに適用される書式。

LastTotalCell

テーブル内の最後の合計セルに適用される書式。

領域の異なるセットに書式を公開する WorksheetTable クラスに同様の AreaFormats コレクションがあります。

Note
注:

テーブルの領域の書式は、テーブル スタイルの領域の書式と機能が異なります。テーブル スタイルの書式は特定の領域内のセルではデフォルトとして機能しますが、テーブルの領域の書式は、設定されていないときにテーブル内の現在表示されているセルに実際に適用されてす (非表示行またはフィルターされた行内のセルはそれらに適用された書式を取得しません)。これは書式設定された領域内でセルを選択し、それらに直接適切な書式設定プロパティを設定することと異なりません。異なるのは、テーブルがより大きくサイズ変更されるときにテーブル内の新しいセルにテーブルの AreaFormats コレクション内のその書式が自動的に適用されることです。

領域の書式に加えて、テーブル スタイルは各列の背景の縞模様が何列にまたがるのか、また各行の背景の縞模様が何行にまたがるのかを定義します。これらの設定は以下のプロパティで公開されます。

テーブル スタイルが、後で CustomTableStyles コレクションから削除されるカスタムのテーブル スタイルである場合、テーブルではスタイルが現在の Workbook.DefaultTableStyle に戻されます。

テーブルの列

テーブルの各列は WorksheetTableColumn クラスで表され、各テーブル内の列は読み取り専用の WorksheetTable.Columns コレクションによって公開されます。テーブルの列は、テーブルに存在する列の部分のみを表します。それと対照的に、ワークシートの列全体は WorksheetColumn クラスによって表され、Worksheet.Columns コレクションによって公開されます。

テーブルの列によって、さまざまな設定が可能となります。これらを以下の表にリストします。

プロパティ 説明

AreaFormats

領域の書式が設定されると、その領域内の現在表示されているセルと新たに追加されたセルに適用されます。このコレクションはカスタマイズできる領域を 3 つだけ公開します。

  • DataArea

  • HeaderCell

  • TotalCell

ColumnFormula

列内のデータ セルに適用される数式を公開する読み取り専用プロパティ。このプロパティが null 以外でテーブルがより大きくサイズ変更される場合、列内の新しいセルにはこの数式が適用されます。このプロパティは読み取り専用です。設定されると提供する必要があるオプションがあるためです。 SetColumnFormula メソッドを使用して修正することができます。 SetColumnFormula にはブール値パラメーターがあり、新しい列の数式を列内のすべてのセルに適用するのか、それとも null 値、または前の列の数式と一致する (ある場合) 数式を持つセルのみに適用するのかを決定できます。

Note
注:

数式をクリアするには、SetColumnFormula を使用して新しい数式に null を渡します。

Filter

これは、 テーブルのフィルタリングのトピックに説明した、列に適用されるフィルターです。

Name

列の名前で、同じテーブル内のその他の列間で大文字と小文字を区別せずに一意です。

Note
注:

テーブルにヘッダー行が表示されている場合、このプロパティは列のヘッダー セルの値にリンクされます。1 つを修正すると、他も同様に変更されます。

SortCondition

これは、 テーブルの並べ替えのトピックで説明される、列内のセルを並べ替えるのに使用される並べ替え条件です。

TotalFormula

これは合計セルに適用する数式です。

Note
注:

合計行が固有のテーブルで表示されるとき、このプロパティは、列の合計セルの数式にリンクされます。1 つを修正すると、他も同様に変更されます。

合計行が表示されないときは、このプロパティは次に表示されるときに数式がどうなるかを決定します。

TotalLabel

TotalFormula と同様ですが、プロパティは数式ではなく文字列を表します。設定できるラベルは 1 つだけで、1 つを設定するとその他をクリアします。

関連コンテンツ

トピック

以下のトピックでは、このトピックに関連する情報を提供しています。

トピック 目的

このセクションでは、Infragistics Excel Engine が提供する様々な特徴と機能を効果的に使用するための、タスク ベースの重要な情報について説明します。

このトピックは、テーブルで列をフィルターする方法を説明します。テーブルの列は、WorksheetTableColumn.Filter プロパティにフィルター条件を適用することでフィルターすることができます。

このトピックは、テーブルで列を並べ替える方法を説明します。テーブルの列は、並べ替え条件を WorksheetTableColumn.SortCondition プロパティに適用することで並べ替えることができます。

このトピックは、セルの値、書式文字列、列幅およびワークシートのオプションを前提として、Microsoft Excel® に表示されるテキストを決定する方法を説明します。WorksheetCell.GetText メソッドを使用してセル テキストを決定できます。

サンプル

以下のサンプルでは、このトピックに関連する情報を提供しています。

サンプル 目的

名前付きテーブル

このサンプルは Excel で名前付きテーブルを使用する方法を紹介します。ワークシート領域をテーブルとして書式設定できます。各テーブルに名前を設定し、テーブルを名前によって取得し、テーブルに適用するスタイルを指定できます。テーブルの各列で並べ替え条件とフィルターを取得または設定できます。テーブルのスタイル、列の並べ替え順序、列のフィルターなどのオプションを指定できます。Excel ファイルを保存して設定を確認します。