如何合併和拆分儲存格

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

查克尼思·賓

合併儲存格是指將兩個或多個相鄰的儲存格結合成一個更大的單一儲存格的過程。 取消合併單元格則是相反的過程,將合併的單元格重新分割為原來的個別單元格。 此功能提供了靈活性、一致的對齊以及更好的數據分析。

IronXL 可以以程式化的方式合併和取消合併試算表中的儲存格。



開始使用IronXL

立即在您的專案中使用IronXL,並享受免費試用。

第一步:
green arrow pointer


合併儲存格範例

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")
VB   C#

演示

合併儲存格演示

檢索合併區域範例

检索合并区域是识别像 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
VB   C#

取消合併儲存格範例

可以使用兩種不同的方法來取消合併已合併的區域。 首先且最簡單的方法包括指定要解除合併的單元格地址,例如 "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")
VB   C#

演示

取消合併儲存格示範
Chaknith related to 演示

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。