バージョン

セルの結合 (Infragistics Excel Engine)

セルの値またはフォーマットの設定以外に、2 つ以上のセルをひとつのセルとして表示するためにセルをマージすることができます。セルをマージする場合、矩形の領域内にセルがなければなりません。セルを結合する場合、領域内の各セルは同じ値とセル フォーマットを持たなければなりません。結合されたセルは、同じ WorksheetMergedCellsRegion オブジェクトにも関連付けられ、AssociatedMergedCellsRegion プロパティからアクセスできます。WorksheetMergedCellsRegion オブジェクトもセルと同じ値とセル フォーマットを持ちます。領域または領域内の任意のセルの値(またはセルフォーマット)を設定すると、すべてのセルおよび領域の値を変更します。セルの結合を解除すると、これまでに結合されたセルはすべて、結合が解除される前の共有セル フォーマットに戻ります。ただし、領域の左上のセルのみが共有値を保持します。

結合されたセル領域を作成するには、セルの範囲を Worksheet オブジェクトの MergedCellsRegions コレクションに追加する必要があります。MergedCellsRegions コレクションは、4 つの整数パラメーターを取得する Add メソッドを公開します。4 つのパラメーターは、開始する行と列(左上隅のセル)のインデックス、および終了する行と列(右下隅のセル)のインデックスを決定します。

以下の例は、セルの結合方法を示します。

Visual Basic の場合:

Imports Infragistics.Documents.Excel
...
Dim workbook1 As New Workbook()
Dim worksheet As Worksheet = workbook1.Worksheets.Add("Sheet1")
' 列ヘッダーを追加します
worksheet.Rows(1).Cells(1).Value = "Morning"
worksheet.Rows(1).Cells(2).Value = "Afternoon"
worksheet.Rows(1).Cells(3).Value = "Evening"
' ヘッダーが列ヘッダーとなる列 1 から列 3 までのマージされた領域を作成します。
Dim mergedRegion1 As WorksheetMergedCellsRegion = worksheet.MergedCellsRegions.Add(0, 1, 0, 3)
' マージされた領域の値を設定します。
mergedRegion1.Value = "Day 1"
' マージされた領域の中央のセルの配置を設定します。
' セルとセルのマージされた領域がセル フォーマットを共有したために、これはマージされた
' 領域のフォーマットを最終的に設定することになります。
worksheet.Rows(0).Cells(2).CellFormat.Alignment = HorizontalCellAlignment.Center

C# の場合:

using Infragistics.Documents.Excel;
...
Workbook workbook1 = new Workbook();
Worksheet worksheet = workbook1.Worksheets.Add("Sheet1");
// 列ヘッダーをいくつか作成します。
worksheet.Rows[1].Cells[1].Value = "Morning";
worksheet.Rows[1].Cells[2].Value = "Afternoon";
worksheet.Rows[1].Cells[3].Value = "Evening";
// ヘッダーが列ヘッダーとなる列 1 から列 3 までのマージされた領域を作成します。
WorksheetMergedCellsRegion mergedRegion1 =  worksheet.MergedCellsRegions.Add(0, 1, 0, 3);
// マージされた領域の値を設定します。
mergedRegion1.Value = "Day 1";
// マージされた領域の中央のセルの配置を設定します。
// セルとセルのマージされた領域がセル フォーマットを共有したために、これはマージされた
// 領域のフォーマットを最終的に設定することになります。
worksheet.Rows[0].Cells[2].CellFormat.Alignment = HorizontalCellAlignment.Center;