複数行ヘッダー
複数行の列ヘッダーを作成できます。行の数は最大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);
列とセルの選択について
複数行の列ヘッダーは、横方向にセルが結合されたかどうかに関わらず、常に個別の列を選択できます。選択された列はハイライト色で表示されます。
結合されたセルの一部の列が選択された場合、そのセルがハイライト色で表示されます。
列の表示/非表示について
列を非表示に設定した場合、非表示になった列の代わりに太線が表示されます。
行列の固定との併用
複数行の列ヘッダーは、通常の列ヘッダーと同様に、行列の固定と併用できます。ワークシートがスクロールした場合、以下のように一部の列が隠されます。
アウトラインとの併用
通常の列ヘッダーと同様にアウトラインと併用できます。