IRONSOFTWAREHOME

如何使用 IronXL 在 C# 中合并和拆分单元格

Curtis Chau
Curtis Chau
Updated: 2026年4月22日

IronXL 使 C# 开发者可以通过简单的 Merge("B3:D3")Unmerge() 方法将多个Excel单元格合并到一个更大的单元格中,或将其取消合并回各个单元格,从而提供无 Excel Interop 的格式化和数据展示灵活性。

快速入门:通过单次调用合并单元格范围

在几行代码中,您可以加载工作簿,使用 IronXL 的 Merge 方法合并指定的单元格范围,并保存文件。它旨在帮助开发者轻松开始合并单元格而无须 Excel Interop。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2复制并运行这段代码。

    var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");
    C#
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronXL
    arrow pointer

如何在 Excel 中使用 C# 合并单元格?

Merge 方法可用于合并一组单元格。 该过程会将单元格合并,而不会删除任何现有值或数据,但只会显示合并区域中第一个单元格的值。 但是,合并单元格的值在 IronXL 中仍然可以访问。 当 使用格式化标题创建电子表格或使用 Excel 模板时,该功能尤其有用。

请注意: 在筛选范围内合并单元格可能会导致Excel文件中的冲突,需要Excel修复才能查看电子表格。

下面的代码示例演示了如何通过指定地址来合并一系列单元格。

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");

合并时单元格值会发生什么变化?

Excel 合并单元格演示,显示跨列合并突出显示单元格前后的员工数据

为什么合并单元格有时会导致 Excel 冲突?

细胞合并是指将两个或多个相邻细胞合并成一个更大的细胞的过程。 拆分单元格是一个相反的过程,即把合并的单元格拆分成原来的单个单元格。 此功能可实现灵活性、一致性和更好的数据分析。 在使用单元格格式化单元格样式时,合并单元格有时会干扰排序和筛选等其他 Excel 功能。

Excel 冲突通常发生在合并单元格与筛选范围重叠或尝试对包含合并单元格的数据进行排序时。 出现这些问题的原因是 Excel 将合并的单元格视为一个单元,这可能会破坏该范围内单个单元格的正常操作。 了解这些限制有助于管理工作表和规划电子表格结构。

何时应在业务应用程序中使用单元格合并?

单元格合并尤其适用于创建跨多列的标题、格式化报告以获得更好的视觉效果,以及创建具有更大输入区域的表单。 它常用于发票模板、仪表板和数据输入表单。 当从业务应用程序导出到 Excel 时,合并单元格有助于创建外观专业的文档。

常见的业务场景包括

  • 报告标题:创建跨越数据宽度的标题
  • 仪表盘设计:组合单元格以汇总统计数据或关键绩效指标
  • 创建表格:合并单元格以扩大文本输入区域
  • 发票模板:使用合并单元格创建公司信息的专业布局

如何检索工作表中的所有合并区域?

检索合并区域有助于在 Microsoft Excel 等电子表格可视化软件中识别显示值。 要获得已合并区域的列表,请使用 GetMergedRegions 方法。 这在加载现有电子表格以了解其结构时尤其有用。

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);
}

为什么我需要以编程方式获取合并区域?

当您需要分析电子表格结构、验证数据完整性或在其他工作表中复制格式时,获取合并区域会有所帮助。 这对处理模板或执行自动电子表格修改的应用程序至关重要。 在以编程方式编辑 Excel 文件或构建需要保留现有格式的工具时,这种能力变得至关重要。

检索合并区域的用例包括

  • 模板处理:在填充数据之前识别模板中的合并区域
  • 格式复制:将合并模式从一个工作表复制到另一个工作表
  • 数据验证:在处理合并单元格的文件时确保数据完整性
  • 报告生成:了解动态报告创建的现有合并模式

合并区域按什么顺序返回?

合并后的区域将根据创建时间按时间顺序返回。 在使用基于索引的解合并操作时,这种排序非常重要。 在实施撤消/重做功能等功能或需要选择特定范围进行处理时,理解这一顺序会有所帮助。

如何使用 IronXL.Excel 在 Excel 中合并单元格?

可以通过两种不同的方法取消合并区域的合并。 第一个也是最简单的方法是指定要取消合并的单元格地址,例如 B3:B6

您也可以根据合并区域的索引取消合并单元格。 合并区域按时间顺序排列。 为此,请首先检索合并区域,并将所需索引传递给 Unmerge 方法。 这种灵活性允许您在以编程方式处理 Excel 文件时处理各种情况。

请注意: 单元格地址必须与合并区域完全对应。 您无法解除合并区域的部分。)
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");

疏通单元格时有哪些常见问题?

Excel 电子表格比较,显示合并单元格(左)与未合并单元格(右)的雇员数据

我应该使用哪种 Unmerge 方法?

当您知道准确的合并区域坐标时,请使用基于地址的解合并。 在以编程方式遍历所有合并区域或确切地址可能不同时,使用基于索引的取消合并。 以下是一份比较,帮助您做出决定:

基于地址的拆分:

  • 最适合具有已知合并模式的静态模板
  • 处理标准化报告时的理想选择
  • 处理特定区域时简化代码

基于索引的拆分:

  • 非常适合具有不同合并模式的动态电子表格
  • 在处理用户上传的文件时非常有用
  • 更适合批量处理多个合并区域

对于涉及单元格操作的更复杂场景,请查阅 IronXL API 参考,以了解更多有效处理合并单元格的方法和属性。

常见问题解答

如何使用 C# 在 Excel 中合并单元格?

通过 IronXL.Excel 的 Merge 方法,您可以使用 C# 在 Excel 中合并单元格。只需加载工作簿,使用单元格区域调用 Merge 方法(例如,ws.Merge("B3:D3")),然后保存文件。这样就能将多个单元格合并为一个更大的单元格,而无需 Excel Interop。

合并单元格时,单元格值会发生什么变化?

using IronXL 合并单元格时,合并过程不会擦除任何现有值或数据。合并后的单元格中只会显示合并区域中第一个单元格的值,但 IronXL 仍允许您以编程方式访问所有原始值。

为什么合并单元格有时会导致 Excel 冲突?

Excel 冲突通常发生在合并单元格与筛选范围重叠或尝试对包含合并单元格的数据进行排序时。IronXL.Excel 可帮助识别这些问题--在筛选器范围内合并单元格可能需要对 Excel 进行修复才能正确查看电子表格。

我可以取消合并以前合并过的单元格吗?

是的,IronXL 提供了一种 Unmerge 方法,允许您将合并的单元格拆分成原来的单个单元格。您可以通过指定范围地址或索引来取消合并,从而为数据分析和格式调整提供灵活性。

我需要安装 Microsoft Excel 才能以编程方式合并单元格吗?

不,IronXL 允许您在 C# 中合并和取消合并 Excel 单元格,而无需安装 Microsoft Excel 或 Excel Interop。该库可独立运行,因此非常适合服务器环境和自动化流程。

合并单元格对创建格式化标题有用吗?

是的,IronXL.Excel 的合并功能在创建带有格式化标题的电子表格或使用 Excel 模板时特别有用。它允许你通过合并标题和章节标题的单元格来创建专业外观的布局。

What are some common use cases for retrieving merged regions with IronXL?

Common use cases include analyzing spreadsheet structure, validating data integrity, replicating formatting patterns across different sheets, and processing templates where merged regions need to be identified and managed programmatically.

How do I unmerge cells in Excel using IronXL?

Unmerge cells in Excel using IronXL by using the `Unmerge` method with either the cell address, like `B3:D3`, or by accessing the index of the merged region programmatically, using the `GetMergedRegions` method to identify the target merge.

What are the differences between address-based and index-based unmerging in IronXL?

Address-based unmerging is suitable for static templates where merge patterns are known, allowing you to specify exact coordinates. Index-based unmerging is more flexible for dynamic spreadsheets involving varying merge patterns and batch processing of multiple regions.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 2,237,574版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronXL”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronXL到你的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronXL.dll”

许可证从 $999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户