在本文中,您將了解如何在 C# 中合併或取消合併工作表中的 Excel 單元格。通常,合併小區是指一個或多個小區連接在一起形成一個大小區。但是,相鄰的單元格可以垂直或水平合併。而將大單元格轉換為多個單元格在 Excel 工作表中稱為取消合併或拆分單元格。讓我們探討以下用例:

使用 C# 合併工作表中的 Excel 單元格

您可以使用 C# 使用 Aspose.Cells for .NET API 輕鬆合併 Excel 工作表中的單元格。在此示例中,我們將從頭開始創建一個新的 Excel 工作表,然後按照以下步驟合併幾個單元格:

  1. 創建一個 工作簿 對象
  2. 獲得第一名
  3. 合併 個特定單元格
  4. 將值放入合併單元格
  5. 在單元格上應用樣式
  6. 保存輸出excel工作表

下面的代碼片段顯示瞭如何使用 C# 合併 Excel 工作表中的單元格:

// 創建工作簿。
Workbook wbk = new Workbook();

// 創建一個工作表並獲取第一張工作表。
Worksheet worksheet = wbk.Worksheets[0];

// 創建一個 Cells 對像以獲取所有單元格。
Cells cells = worksheet.Cells;

// 將一些 Cell (C6:E7) 合併為一個 C6 Cell。
cells.Merge(5, 2, 2, 3);

// 將數據輸入 C6 單元格。
worksheet.Cells[5, 2].PutValue("This is my value");

// 創建一個 Style 對象來獲取 C6 Cell 的 Style。
Style style = worksheet.Cells[5, 2].GetStyle();

// 創建字體對象
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 Cell 的背景顏色設置為紅色
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// 將樣式應用於 C6 單元格。
cells[5, 2].SetStyle(style);

// 保存工作簿。
wbk.Save(dataDir + "MergeCells.xlsx");

從此代碼片段生成的輸出文件將包含合併的單元格,如下面的屏幕截圖所示:

合併單元格

使用 C# 取消合併工作表中的 Excel 單元格

我們已經學習瞭如何合併 Excel 文件中的單元格。讓我們把這個過程更進一步。在這裡,我們將考慮按照以下步驟取消合併 Excel 工作表中的單元格:

  1. 加載源 Excel 文件
  2. 創建 Worksheet 對象並訪問第一個工作表
  3. 取消合併 個單元格
  4. 保存輸出文件

下面的代碼片段基於這些步驟,展示瞭如何使用 C# 取消合併 Excel 文件中的單元格:

// 打開 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");

下圖顯示了在您的環境中運行上述代碼時未合併的單元格的外觀:

取消合併單元格

使用 C# 合併工作表中的一系列 Excel 單元格

有時在不同的單元格範圍下指定了幾個單元格。您可能想要合併 Excel 工作表中特定範圍的單元格。在這種情況下,請按照下面列出的步驟操作:

  1. 創建一個 工作簿 對象
  2. 訪問第一個工作表
  3. 在單元格中輸入數據
  4. 創建並合併範圍
  5. 保存輸出 excel 文件

下面的代碼片段顯示瞭如何使用 C# 將單元格範圍合併到 Excel 文件中的一個更大的單元格中:

// 創建工作簿
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");

使用 C# 取消合併工作表中的一系列 Excel 單元格

在前面的示例中,我們探討了在 Excel 中合併一系列單元格。讓我們按照以下步驟繼續取消合併的單元格:

  1. 加載源 工作簿
  2. 訪問特定的工作表
  3. 創建一個 Range 對象
  4. 調用 UnMerge 方法
  5. 保存輸出 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");

使用 C# 合併工作表中命名範圍的 Excel 單元格

有時 Excel 文件包含多個命名範圍,因為它們很容易識別和相應地操作。因此,您還可以通過指定其名稱來合併任何命名範圍。結果,該命名範圍內的所有單元格都將合併到一個更大的單元格中。您需要按照以下步驟操作:

  1. 加載源 Excel 工作簿
  2. 訪問包含指定範圍的 Worksheet
  3. 定義和應用樣式
  4. 合併 命名範圍
  5. 保存輸出文件

下面的代碼片段解釋瞭如何在 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 文件中的單元格、範圍或命名範圍。如有任何疑問或疑慮,請通過免費支持論壇與我們聯繫。

也可以看看