如何合併和取消合併 Excel 中的單元格

How to Merge and Unmerge Cells

This article was translated from English: Does it need improvement?
Translated
View the article in English

合併儲存格是指將兩個或多個相鄰的儲存格組合成一個更大的單一儲存格的過程。 而拆開儲存格則是相反的過程,即將已合併的儲存格分回其原有的個別儲存格。 此功能允許靈活性、一致的對齊,並提升資料分析能力。

快速入門:單次調用合併一個儲存格範圍

只需幾行代碼即可載入工作簿、使用 IronXL 的 Merge 方法合併指定的儲存格範圍,並儲存檔案。它旨在讓開發人員能輕鬆地開始合併儲存格,而不需要 Excel 互操作。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

簡易工作流程(5 步驟)

如何合併及拆開儲存格
  1. 下載 C# 程式庫來合併及拆開儲存格
  2. 載入一個現有的或新建一個全新的試算表
  3. 利用 Merge 方法來合併所需的範圍
  4. 通過指定合併區域範圍地址或索引執行 Unmerge 以進行拆分
  5. 匯出已修改的試算表

合併儲存格範例

Merge 方法可用來合併一個範圍的儲存格。 此過程將合併儲存格而不刪除任何現有的值或數據,但只有合併區域中第一個儲存格的值會顯示出來。 然而,合併的儲存格中的值則仍可在 IronXL 中取得。

請注意在範圍篩選中合併儲存格可能會導致 Excel 檔案中出現衝突,可能需要執行 Excel 修復來檢視試算表。

下面的代碼示例展示了如何通過指定地址合併一個範圍的儲存格。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-merge.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

var range = workSheet["B2:B5"];

// Merge cells B7 to E7
workSheet.Merge("B7:E7");

// Merge selected range
workSheet.Merge(range.RangeAddressAsString);

workBook.SaveAs("mergedCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private range = workSheet("B2:B5")

' Merge cells B7 to E7
workSheet.Merge("B7:E7")

' Merge selected range
workSheet.Merge(range.RangeAddressAsString)

workBook.SaveAs("mergedCell.xlsx")
$vbLabelText   $csharpLabel

示範

class="content-img-align-center">
class="center-image-wrapper"> 合併儲存格示範

檢索合併區域範例

檢索合併區域是個有用的功能,用於識別在試算表可視化軟體如 Microsoft Excel 中顯示的值。 要獲得合併區域的列表,可以使用 GetMergedRegions 方法。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-retrieve-merged-regions.cs
using IronXL;
using System.Collections.Generic;
using System;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply merge
workSheet.Merge("B4:C4");
workSheet.Merge("A1:A4");
workSheet.Merge("A6:D9");

// Retrieve merged regions
List<IronXL.Range> retrieveMergedRegions = workSheet.GetMergedRegions();

foreach (IronXL.Range mergedRegion in retrieveMergedRegions)
{
    Console.WriteLine(mergedRegion.RangeAddressAsString);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

拆開儲存格範例

拆開已合併的區域可以用兩種不同的方法完成。 第一種也是最簡單的方法是通過指定儲存格地址,例如 B3:B6,來進行拆分。

或者,你也可以基於合併區域的索引來拆開儲存格。 合併區域按照時間順序列出。 要做到這一點,你可以先檢索合併區域,然後將所需的索引傳遞給 Unmerge 方法。

請注意儲存格地址必須精確對應於合併區域。 無法拆開合併區域的一部分。

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-unmerge.cs
using IronXL;

WorkBook workBook = WorkBook.Load("mergedCell.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7");

workBook.SaveAs("unmergedCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("mergedCell.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7")

workBook.SaveAs("unmergedCell.xlsx")
$vbLabelText   $csharpLabel

示範

class="content-img-align-center">
class="center-image-wrapper"> 拆開儲存格示範

常見問題解答

如何在C#中不使用Excel互操作合併單元格?

您可以通過使用IronXL的Merge方法在不使用Excel互操作的情況下合併C#中的單元格。這涉及加載工作簿,選擇工作表,指定範圍並應用Merge方法合併單元格。

如何在C#應用程序中取消合併單元格?

要在使用IronXL的C#應用程序中取消合併單元格,您可以使用Unmerge方法。指定合併區域的範圍地址或索引以反轉合併過程。

開始使用IronXL進行Excel操作的過程是什麼?

要開始使用IronXL進行Excel操作,從NuGet下載庫,載入或創建試算表,並使用MergeUnmerge等方法以編程方式執行單元格操作。

我可以檢索到試算表中的合併區域列表嗎?

是的,您可以使用IronXL的GetMergedRegions方法檢索試算表中的合併區域列表。這有助於識別您的工作表中合併的單元格。

是否可以在不安裝Microsoft Excel的情況下管理Excel試算表?

是的,IronXL允許您編程管理Excel試算表,包括合併和取消合併單元格,而不需要在系統上安裝Microsoft Excel。

在過濾範圍內合併單元格時應考慮什麼?

在過濾範圍內合併單元格可能會導致Excel文件中的衝突,這可能需要使用Excel修復工具來正確查看試算表。

Merge方法會刪除單元格中的數據嗎?

不,Merge方法不會刪除數據。它合併單元格並僅顯示第一個單元格的值,但所有其他單元格的值仍可訪問。

我如何在IronXL中可視化合併和取消合併過程?

IronXL提供了代碼示例和演示,展示如何執行合併和取消合併過程。這些示例有助於可視化如何以編程方式操作Excel文件。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布