IronXL 操作指南 合併單元格 如何使用 IronXL 在 C# 中合併和解除合併儲存格。 Curtis Chau 更新:2026年1月10日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 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 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronXL PM > Install-Package IronXL.Excel 複製並運行這段程式碼。 var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronXL,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載用於合併和取消合併儲存格的 C# 庫 載入現有或建立新的試算表 使用 Merge 方法合併所需的範圍 透過指定範圍位址或索引至 Unmerge 方法來解除合併 導出修改後的試算表 如何在 Excel 中使用 C# 合併儲存格? Merge 方法可用於合併一個儲存格範圍。 過程會將儲存格合併,而不會刪除任何現有值或數據,但只會顯示合併區域中第一個儲存格的值。 但是,合併儲存格的值在 IronXL 中仍然可以存取。 當 使用格式化標題來建立試算表,或使用 Excel 範本時,此功能尤其有用。 請注意 在篩選範圍內合併單元格會導致 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 合併時儲存格值會發生什麼變化? 為什麼合併儲存格有時會造成 Excel 衝突? 細胞合併是指將兩個或多個相鄰細胞合併成一個更大的細胞的過程。 解除合併單元是一個相反的過程,合併的單元會重新分割成原本的單獨單元。 此功能可實現靈活性、一致性和更好的數據分析。 在使用 單元格格式化和 造型單元時,合併的單元格有時會干擾其他 Excel 功能,例如排序和篩選。 Excel 衝突通常發生在合併的儲存格與篩選範圍重疊時,或嘗試排序包含合併儲存格的資料時。 出現這些問題的原因是 Excel 將合併的儲存格視為單一單位,這可能會擾亂該範圍內個別儲存格的正常作業。 在管理工作表和規劃試算表結構時,瞭解這些限制會有所幫助。 何時應該在商業應用程式中使用單元格合併? 儲存格合併對於建立跨越多列的標題、格式化報告以獲得更好的視覺呈現,以及建立具有更大輸入區域的表單尤其有用。 常用於發票範本、儀表板和資料輸入表單。 當 從商業應用程式匯出至 Excel 時,合併的儲存格有助於建立外觀專業的文件。 常見的商業情境包括 報告標題:建立跨越資料寬度的標題 儀表板設計:為摘要統計或 KPI 組合儲存格 表格建立:合併儲存格以擴大文字輸入區域 發票範本:使用合併的單元格為公司資訊建立專業的版面設計 如何擷取工作表中所有合併的區域? 擷取合併區域對於識別 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); } Imports IronXL Imports System.Collections.Generic Imports System Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.DefaultWorkSheet ' Apply merge workSheet.Merge("B4:C4") workSheet.Merge("A1:A4") workSheet.Merge("A6:D9") ' Retrieve merged regions Dim retrieveMergedRegions As List(Of IronXL.Range) = workSheet.GetMergedRegions() For Each mergedRegion As IronXL.Range In retrieveMergedRegions Console.WriteLine(mergedRegion.RangeAddressAsString) Next $vbLabelText $csharpLabel 為什麼我需要以程式方式取得合併區域? 當您需要分析試算表結構、驗證資料完整性或複製其他工作表的格式時,取得合併區域會有所幫助。 對於處理範本或執行自動試算表修改的應用程式而言,這是不可或缺的。 當 程式化編輯 Excel 檔案或建立需要保留現有格式的工具時,這項能力變得非常重要。 檢索合併區域的使用案例包括 範本處理:在填入資料之前識別範本中的合併區域 格式複製:從一個工作表複製合併樣式到另一個工作表 資料驗證:在處理有合併單元的檔案時確保資料完整性 報告產生:瞭解動態報表建立的現有合併模式 合併區域會以何種順序返回? 合併後的區域會依據建立時間的順序傳回。 在使用基於索引的解合操作時,此排序非常重要。 在實作撤消/重做功能等功能或需要 選擇特定範圍進行處理時,瞭解此順序將有所幫助。 如何在 Excel 中使用 IronXL.Excel 複製單元格? 可以透過兩種不同的方法取消合併區域的合併。 第一個也是最簡單的方法是指定要解除合併的儲存格位址,例如 B3:B6 。 另外,您也可以根據合併區域的索引來取消合併儲存格。 合併區域依時間順序排列。 若要執行此功能,請先擷取合併的區域,並傳送所需的索引至 Unmerge 方法。 這種靈活性可讓您在以程式化方式處理 Excel 檔案時處理各種情況。 [{i:(儲存格位址必須與合併區域完全對應。 您無法取消合併區域的部分內容。 :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 在解合儲存格時有哪些常見問題? 我應該使用哪種 Unmerge 方法? 當您知道精確的合併區域座標時,請使用基於位址的解除合併。 在以程式化方式遍歷所有合併區域或確切位址可能不同時,請使用基於索引的解除合併。 以下的比較可以幫助您做決定: 以位址為基礎的解譯: 最適合已知合併模式的靜態範本 處理標準化報告時的理想選擇 處理特定區域時要簡化程式碼 以索引為基礎的拆分: 完美適用於具有不同合併模式的動態試算表 在處理使用者上傳的檔案時非常有用 更適合批次處理多個合併區域 對於涉及儲存格操作的更複雜情況,請探索 IronXL API Reference 以發現更多有效處理合併儲存格的方法和屬性。 常見問題解答 如何使用 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 範本時特別有用。它可讓您透過合併標題和節段標題的儲存格,來建立外觀專業的版面。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:1,846,091 查看許可證