如何合并和拆分单元格

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 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。