如何使用 IronXL 在 C# 中合併和解除合併儲存格。
IronXL 可讓 C# 開發人員使用 Merge("B3:D3") 和 Unmerge() 等簡單的方法,將多個 Excel 單元格合併為一個較大的單元格,或解除合併回到單獨的單元格,在不需要 Excel Interop 的情況下,提供格式化和資料呈現的彈性。
快速入門:使用單一呼叫合併一系列儲存格
只需幾行文字,您就可以載入工作簿,使用 IronXL 的 Merge 方法合併指定的儲存格範圍,然後儲存檔案。它專為開發人員設計,讓您在沒有 Excel Interop 的情況下毫不費力地開始合併儲存格。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronXL
複製並運行這段程式碼。
var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");部署到您的生產環境進行測試
最小工作流程(5 個步驟)

- 下載用於合併和取消合併儲存格的 C# 庫
- 載入現有或建立新的試算表
- 使用
Merge方法合併所需的範圍 - 透過指定範圍位址或索引至
Unmerge方法來解除合併 - 導出修改後的試算表
如何在 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 衝突? 細胞合併是指將兩個或多個相鄰細胞合併成一個更大的細胞的過程。 解除合併單元是一個相反的過程,合併的單元會重新分割成原本的單獨單元。 此功能可實現靈活性、一致性和更好的數據分析。 在使用 [ 單元格格式化](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:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。
```cs :path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-unmerge.cs ```在解合儲存格時有哪些常見問題?
我應該使用哪種 Unmerge 方法? 當您知道精確的合併區域座標時,請使用基於位址的解除合併。 在以程式化方式遍歷所有合併區域或確切位址可能不同時,請使用基於索引的解除合併。 以下的比較可以幫助您做決定: **以位址為基礎的解譯:** - 最適合已知合併模式的靜態範本 - 處理標準化報告時的理想選擇 - 處理特定區域時要簡化程式碼 **以索引為基礎的拆分:** - 完美適用於具有不同合併模式的動態試算表 - 在處理使用者上傳的檔案時非常有用 - 更適合批次處理多個合併區域 對於涉及儲存格操作的更複雜情況,請探索 [IronXL API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/) 以發現更多有效處理合併儲存格的方法和屬性。
合併時儲存格值會發生什麼變化?
為什麼合併儲存格有時會造成 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:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。

何時應該在商業應用程式中使用單元格合併? 儲存格合併對於建立跨越多列的標題、格式化報告以獲得更好的視覺呈現,以及建立具有更大輸入區域的表單尤其有用。 常用於發票範本、儀表板和資料輸入表單。 當 [ 從商業應用程式匯出至 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:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。
為什麼我需要以程式方式取得合併區域? 當您需要分析試算表結構、驗證資料完整性或複製其他工作表的格式時,取得合併區域會有所幫助。 對於處理範本或執行自動試算表修改的應用程式而言,這是不可或缺的。 當 [ 程式化編輯 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:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。
如何在 Excel 中使用 IronXL.Excel 複製單元格? 可以透過兩種不同的方法取消合併區域的合併。 第一個也是最簡單的方法是指定要解除合併的儲存格位址,例如 `B3:B6` 。 另外,您也可以根據合併區域的索引來取消合併儲存格。 合併區域依時間順序排列。 若要執行此功能,請先擷取合併的區域,並傳送所需的索引至 `Unmerge` 方法。 這種靈活性可讓您在以程式化方式處理 Excel 檔案時處理各種情況。 [{i:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。

我應該使用哪種 Unmerge 方法? 當您知道精確的合併區域座標時,請使用基於位址的解除合併。 在以程式化方式遍歷所有合併區域或確切位址可能不同時,請使用基於索引的解除合併。 以下的比較可以幫助您做決定: **以位址為基礎的解譯:** - 最適合已知合併模式的靜態範本 - 處理標準化報告時的理想選擇 - 處理特定區域時要簡化程式碼 **以索引為基礎的拆分:** - 完美適用於具有不同合併模式的動態試算表 - 在處理使用者上傳的檔案時非常有用 - 更適合批次處理多個合併區域 對於涉及儲存格操作的更複雜情況,請探索 [IronXL API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/) 以發現更多有效處理合併儲存格的方法和屬性。
常見問題解答
如何使用 C# 在 Excel 中合併儲存格?
您可以使用 IronXL.Excel 的 Merge 方法,使用 C# 在 Excel 中合併儲存格。只需載入您的工作簿,使用儲存格範圍呼叫 Merge 方法 (例如 ws.Merge("B3:D3")),然後儲存檔案。這可將多個儲存格合併為一個較大的儲存格,而無需 Excel Interop。
合併儲存格時,儲存格值會發生什麼變化?
使用 IronXL 合併儲存格時,過程會在不刪除任何現有值或資料的情況下合併儲存格。合併後的單元格中只會顯示合併區域中第一個單元格的值,但 IronXL 仍允許您以程式化的方式存取所有原始值。
為什麼合併儲存格有時會造成 Excel 衝突?
當合併的儲存格與篩選範圍重疊,或嘗試排序包含合併儲存格的資料時,通常會發生 Excel 衝突。IronXL 可協助找出這些問題 - 合併篩選器範圍內的儲存格可能需要進行 Excel 修復,才能正確檢視試算表。
我可以取消合併先前已合併的單元格嗎?
是的,IronXL 提供了一個 Unmerge 方法,讓您可以將合併的單元分割回原始的獨立單元。您可以透過指定範圍位址或索引來解除合併,為資料分析和格式調整提供彈性。
我需要安裝 Microsoft Excel 才能以程式方式合併儲存格嗎?
不,IronXL 可讓您在 C# 中合併和解除合併 Excel 單元格,而無需安裝 Microsoft Excel 或 Excel Interop。這個函式庫可獨立運作,非常適合伺服器環境和自動化流程。
合併儲存格對於建立格式化的標頭有用嗎?
是的,IronXL.Excel 的合併功能在建立有格式化標題的試算表或使用 Excel 範本時特別有用。它可讓您透過合併標題和節段標題的儲存格,來建立外觀專業的版面。






