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

如何使用 IronXL 在 C# 中合併和解除合併儲存格。

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

IronXL 可讓 C# 開發人員使用 Merge("B3:D3")Unmerge() 等簡單的方法,將多個 Excel 單元格合併為一個較大的單元格,或解除合併回到單獨的單元格,在不需要 Excel Interop 的情況下,提供格式化和資料呈現的彈性。

快速入門:使用單一呼叫合併一系列儲存格

只需幾行文字,您就可以載入工作簿,使用 IronXL 的 Merge 方法合併指定的儲存格範圍,然後儲存檔案。它專為開發人員設計,讓您在沒有 Excel Interop 的情況下毫不費力地開始合併儲存格。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer

如何在 Excel 中使用 C# 合併儲存格? `Merge` 方法可用於合併一個儲存格範圍。 過程會將儲存格合併,而不會刪除任何現有值或數據,但只會顯示合併區域中第一個儲存格的值。 但是,合併儲存格的值在 IronXL 中仍然可以存取。 當 [ 使用格式化標題來建立試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/),或使用 [Excel 範本](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)時,此功能尤其有用。
請注意 在篩選範圍內合併單元格會導致 Excel 檔案產生衝突,需要修復 Excel 才能檢視試算表。 下面的程式碼範例示範如何透過指定位址來合併一系列儲存格。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-merge.cs ```

合併時儲存格值會發生什麼變化?
Excel 合併儲存格示範,顯示跨列合併高亮儲存格前後的員工資料

為什麼合併儲存格有時會造成 Excel 衝突? 細胞合併是指將兩個或多個相鄰細胞合併成一個更大的細胞的過程。 解除合併單元是一個相反的過程,合併的單元會重新分割成原本的單獨單元。 此功能可實現靈活性、一致性和更好的數據分析。 在使用 [ 單元格格式化](https://ironsoftware.com/csharp/excel/how-to/border-alignment/)和 [ 造型單元](https://ironsoftware.com/csharp/excel/how-to/cell-font-size/)時,合併的單元格有時會干擾其他 Excel 功能,例如排序和篩選。 Excel 衝突通常發生在合併的儲存格與篩選範圍重疊時,或嘗試排序包含合併儲存格的資料時。 出現這些問題的原因是 Excel 將合併的儲存格視為單一單位,這可能會擾亂該範圍內個別儲存格的正常作業。 在[管理工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)和規劃試算表結構時,瞭解這些限制會有所幫助。

何時應該在商業應用程式中使用單元格合併? 儲存格合併對於建立跨越多列的標題、格式化報告以獲得更好的視覺呈現,以及建立具有更大輸入區域的表單尤其有用。 常用於發票範本、儀表板和資料輸入表單。 當 [ 從商業應用程式匯出至 Excel](https://ironsoftware.com/csharp/excel/how-to/c-sharp-export-to-excel/) 時,合併的儲存格有助於建立外觀專業的文件。 常見的商業情境包括 - **報告標題**:建立跨越資料寬度的標題 - **儀表板設計**:為摘要統計或 KPI 組合儲存格 - **表格建立**:合併儲存格以擴大文字輸入區域 - **發票範本**:使用合併的單元格為公司資訊建立專業的版面設計

如何擷取工作表中所有合併的區域? 擷取合併區域對於識別 Microsoft Excel 等試算表視覺化軟體中的顯示值非常有用。 若要取得合併區域的清單,請使用 `GetMergedRegions` 方法。 這在[載入現有試算表](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/)以瞭解其結構時尤其有用。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-retrieve-merged-regions.cs ```

為什麼我需要以程式方式取得合併區域? 當您需要分析試算表結構、驗證資料完整性或複製其他工作表的格式時,取得合併區域會有所幫助。 對於處理範本或執行自動試算表修改的應用程式而言,這是不可或缺的。 當 [ 程式化編輯 Excel 檔案](https://ironsoftware.com/csharp/excel/how-to/csharp-edit-excel-file/)或建立需要保留現有格式的工具時,這項能力變得非常重要。 檢索合併區域的使用案例包括 - **範本處理**:在填入資料之前識別範本中的合併區域 - **格式複製**:從一個工作表複製合併樣式到另一個工作表 - **資料驗證**:在處理有合併單元的檔案時確保資料完整性 - **報告產生**:瞭解動態報表建立的現有合併模式

合併區域會以何種順序返回? 合併後的區域會依據建立時間的順序傳回。 在使用基於索引的解合操作時,此排序非常重要。 在實作撤消/重做功能等功能或需要 [ 選擇特定範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/)進行處理時,瞭解此順序將有所幫助。

如何在 Excel 中使用 IronXL.Excel 複製單元格? 可以透過兩種不同的方法取消合併區域的合併。 第一個也是最簡單的方法是指定要解除合併的儲存格位址,例如 `B3:B6` 。 另外,您也可以根據合併區域的索引來取消合併儲存格。 合併區域依時間順序排列。 若要執行此功能,請先擷取合併的區域,並傳送所需的索引至 `Unmerge` 方法。 這種靈活性可讓您在以程式化方式處理 Excel 檔案時處理各種情況。 [{i:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。