複数行の列ヘッダーを作成できます。行数は最大で10行まで設定可能です。ヘッダーのセルは横方向・縦方向のいずれにも結合できます。また、ヘッダーテキストやスタイルも自由に設定できます。
複数行ヘッダーの作成
複数行ヘッダーは、ワークシートの ExtensionColumnHeader
プロパティを使用して作成します。
var extensionHeader = worksheet.ExtensionColumnHeader;
行数は RowCount
プロパティ、または SetRowCount
メソッドで設定できます。
extensionHeader.SetRowCount(3);
結果は以下の図の通りです。
セルへのアクセス
複数行ヘッダーのセルは、ワークシートのセルと同様に、一番左上が原点座標 (0,0) です。
セルの結合
複数行ヘッダーのセルを結合するには、MergeCells
メソッドを使用します。結合したい開始行・開始列と、結合する行数・列数を指定します。
extensionHeader.MergeCells(開始行, 開始列, 結合する行数, 結合する列数)
以下のように記述します。
// 先頭のセル(0, 0) をマージする
extensionHeader.MergeCells(0, 0, 3, 1);
// 行0、2列目(0, 1)のセルからマージする
extensionHeader.MergeCells(0, 1, 1, 4);
セルのテキスト設定
extensionHeader[0, 0].Text = "No.";
extensionHeader[0, 1].Text = "大分類";
MergeCells
と Text
の設定を繰り返して複数行ヘッダーを作成します。
extensionHeader.MergeCells(0, 0, 3, 1);
extensionHeader.MergeCells(0, 1, 1, 4);
extensionHeader.MergeCells(1, 1, 1, 2);
extensionHeader.MergeCells(1, 3, 1, 2);
extensionHeader.MergeCells(0, 5, 3, 1);
extensionHeader.MergeCells(0, 6, 1, 4);
extensionHeader.MergeCells(1, 6, 2, 1);
extensionHeader.MergeCells(1, 8, 2, 2);
extensionHeader[0, 0].Text = "No.";
extensionHeader[0, 1].Text = "大分類";
extensionHeader[1, 1].Text = "中分類";
extensionHeader[1, 3].Text = "中分類";
extensionHeader[0, 6].Text = "大分類";
extensionHeader[2, 1].Text = "小分類";
extensionHeader[2, 2].Text = "小分類";
extensionHeader[2, 3].Text = "小分類";
extensionHeader[2, 4].Text = "小分類";
extensionHeader[0, 5].Text = "対象";
結合セルの解除
UnmergeCells
メソッドを使うと、結合したセルを解除できます。
extensionHeader.UnmergeCells(0, 7);
列とセルの選択について
複数行の列ヘッダーは、横方向にセルが結合されていても、常に個別の列を選択できます。選択された列はハイライト表示されます。
結合セルの一部の列が選択された場合、そのセルがハイライト表示されます。
列の表示/非表示について
列を非表示に設定した場合、非表示の列の代わりに太線が表示されます。
行列の固定との併用
複数行の列ヘッダーは、通常の列ヘッダーと同様に、行や列の固定と併用できます。ワークシートをスクロールすると、一部の列が隠れます。
アウトラインとの併用
通常の列ヘッダーと同様に、アウトライン機能とも併用できます。