この記事では、ワークシート内のExcelセルを結合または結合解除する方法について学習します。一般に、セルのマージとは、1つまたは複数のセルを結合して大きなセルを形成することを指します。ただし、隣接するセルは垂直方向または水平方向に結合できます。一方、大きなセルを複数のセルに変換することは、Excelワークシートではセルの結合解除または分割と呼ばれます。次のユースケースを調べてみましょう。
- ワークシートのExcelセルをC#でマージする
- ワークシートのExcelセルをC#でマージ解除します
- ワークシートのExcelセルの範囲をC#でマージする
- ワークシートのExcelセルの範囲をC#でマージ解除します
- ワークシートの名前付き範囲のExcelセルをC#でマージする
ワークシートのExcelセルをC#でマージする
C#を使用して、ExcelワークシートのセルをAspose.Cells for .NETAPIと簡単にマージできます。この例では、新しいExcelワークシートを最初から作成し、次の手順に従っていくつかのセルを結合します。
以下のコードスニペットは、ExcelワークシートのセルをC#でマージする方法を示しています。
// ワークブックを作成します。
Workbook wbk = new Workbook();
// ワークシートを作成し、最初のシートを取得します。
Worksheet worksheet = wbk.Worksheets[0];
// すべてのセルをフェッチするためにCellsオブジェクトを作成します。
Cells cells = worksheet.Cells;
// 一部のセル(C6:E7)を単一のC6セルにマージします。
cells.Merge(5, 2, 2, 3);
// C6セルにデータを入力します。
worksheet.Cells[5, 2].PutValue("This is my value");
// C6セルのスタイルをフェッチするStyleオブジェクトを作成します。
Style style = worksheet.Cells[5, 2].GetStyle();
// Fontオブジェクトを作成する
Font font = style.Font;
// 名前を設定します。
font.Name = "Times New Roman";
// フォントサイズを設定します。
font.Size = 18;
// フォントの色を設定する
font.Color = System.Drawing.Color.Blue;
// テキストを太字にする
font.IsBold = true;
// イタリックにする
font.IsItalic = true;
// C6セルの背景色を赤に設定します
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;
// スタイルをC6セルに適用します。
cells[5, 2].SetStyle(style);
// ブックを保存します。
wbk.Save(dataDir + "MergeCells.xlsx");
このコードスニペットから生成された出力ファイルには、以下のスクリーンショットのようにマージされたセルが含まれます。
ワークシートのExcelセルをC#でマージ解除します
Excelファイルのセルを結合する方法を学びました。このプロセスをさらに一歩進めましょう。ここでは、以下の手順に従って、Excelワークシートのセルの結合を解除することを検討します。
以下のコードスニペットは、これらの手順に基づいており、ExcelファイルのセルをC#でマージ解除する方法を示しています。
// Excelファイルを開きます。
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");
// ワークシートを作成し、最初のシートを取得します。
Worksheet worksheet = wbk.Worksheets[0];
// すべてのセルをフェッチするためにCellsオブジェクトを作成します。
Cells cells = worksheet.Cells;
// セルのマージを解除します。
cells.UnMerge(5, 2, 2, 3);
// ファイルを保存します。
wbk.Save(dataDir + "UnmergeCells.xlsx");
次の画像は、環境で上記のコードを実行したときに、マージされていないセルがどのように見えるかを示しています。
ワークシートのExcelセルの範囲をC#でマージする
セルの異なる範囲で指定されたセルがいくつかある場合があります。 Excelシートの特定の範囲のセルを結合することをお勧めします。このようなシナリオでは、以下の手順に従ってください。
- Workbookオブジェクトを作成します
- 最初の[ワークシート]にアクセスします(https://reference.aspose.com/cells/net/aspose.cells/worksheet)
- セルにデータを入力する
- 範囲を作成してマージ
- 出力Excelファイルを保存します
以下のコードスニペットは、C#を使用してセルの範囲をExcelファイルの1つの大きなセルにマージする方法を示しています。
// ブックを作成する
Workbook workbook = new Workbook();
// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];
// C6セルにデータを入力します。
worksheet.Cells[0, 0].PutValue("Merge Range");
// 範囲を作成する
Range range = worksheet.Cells.CreateRange("A1:D4");
// 範囲を単一のセルにマージ
range.Merge();
// ブックを保存する
workbook.Save(dataDir + "Merge_Range.xlsx");
ワークシートのExcelセルの範囲をC#でマージ解除します
前の例では、Excelでセルの範囲をマージする方法について説明しました。以下の手順に従って、マージされたセルのマージを解除します。
- ソースを読み込むWorkbook
- 特定の[ワークシート]にアクセスします(https://reference.aspose.com/cells/net/aspose.cells/worksheet)
- 範囲オブジェクトを作成します
- UnMergeメソッドを呼び出す
- 出力Excelファイルを保存します
以下のコードスニペットは、次の手順に従い、C#を使用してExcelワークシートのセルの範囲をマージ解除する方法を示しています。
// ブックを作成する
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");
// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];
// 範囲を作成する
Range range = worksheet.Cells.CreateRange("A1:D4");
// 範囲のマージを解除
range.UnMerge();
// ブックを保存する
workbook.Save(dataDir + "UnmergeRange.xlsx");
ワークシートの名前付き範囲のExcelセルをC#でマージする
Excelファイルには、識別と操作が簡単なため、いくつかの名前付き範囲が含まれている場合があります。したがって、名前を指定して、任意の名前付き範囲をマージすることもできます。その結果、その名前付き範囲内のすべてのセルが1つの大きなセルにマージされます。次の手順に従う必要があります。
以下のコードスニペットは、C#で名前付き範囲のセルをマージする方法を説明しています。
// ブックをロードする
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");
// 最初のワークシートにアクセスする
Worksheet worksheet = workbook.Worksheets[0];
// 範囲を指定する
Range range = worksheet.Cells.CreateRange("A1:D4");
range.Name = "Named_Range";
// 範囲を取得します。
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");
// スタイルオブジェクトを定義します。
Style style = workbook.CreateStyle();
// 配置を設定します。
style.HorizontalAlignment = TextAlignmentType.Center;
// StyleFlagオブジェクトを作成します。
StyleFlag flag = new StyleFlag();
// 相対スタイル属性をONにします。
flag.HorizontalAlignment = true;
// 範囲にスタイルを適用します。
range1.ApplyStyle(style, flag);
// 範囲にデータを入力します。
range1[0, 0].PutValue("Aspose");
// マージ範囲
range.Merge();
// ブックを保存する
workbook.Save(dataDir + "Merge_NamedRange.xlsx");
上記のコードスニペットの出力は、次の画像と同じになります。
結論
Excelワークブックとワークシートのセルを結合または結合解除することは重要で便利な機能です。この記事では、考えられるさまざまなユースケースを、すべての手順と画像とともにまとめました。これで、これらの手順を簡単に実行して、Excelファイルのセル、範囲、または名前付き範囲を結合または結合解除できます。ご不明な点やご不明な点がございましたら、無料サポートフォーラムからお問い合わせください。