C#利用Spire.XLS for .NET实现合并或取消Excel单元格

 更新时间:2026年01月29日 08:34:38   作者:2501_93070778  
合并单元格是指将两个或多个独立的单元格合并为一个较大的单元格,常用于需要创建跨多列显示的标题或标签,下面我们来看看如何使用C#实现合并或取消合并Excel单元格吧

合并单元格是指将两个或多个独立的单元格合并为一个较大的单元格,常用于需要创建跨多列显示的标题或标签。本文将演示如何使用 Spire.XLS for .NET 库,通过 C# 和 VB.NET 在 Excel 中实现单元格的合并与取消合并操作。

安装 Spire.XLS for .NET

首先,需要在你的 .NET 项目中添加 Spire.XLS for .NET 包中包含的 DLL 文件作为引用。你可以通过官网下载 DLL 文件手动添加,也可以直接通过 NuGet 安装该库。

PM> Install-Package Spire.XLS

使用 C# 和 VB.NET 合并 Excel 单元格

以下是通过代码在 Excel 中合并单元格的基本步骤:

  • 创建一个 Workbook 实例。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[sheetIndex] 获取需要操作的工作表。
  • 访问指定的单元格区域,并调用 XlsRange.Merge() 方法将其合并为一个单元格。
  • 将合并后单元格中的文本水平居中,可将 CellRange.Style.HorizontalAlignment 属性设置为 HorizontalAlignType.Center
  • 最后,使用 Workbook.SaveToFile() 方法保存生成的结果文件。

示例代码如下:

using Spire.Xls;

namespace MergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 Workbook 实例
            Workbook workbook = new Workbook();
            // 加载 Excel 文件
            workbook.LoadFromFile("Sample.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];
            // 将单元格 A1–D1 合并为一个单元格
            CellRange range = sheet.Range["A1:D1"];
            range.Merge();
            // 将合并后的单元格内容设置为水平居中
            range.Style.HorizontalAlignment = HorizontalAlignType.Center;            

            // 保存结果文件
            workbook.SaveToFile("MergeCells.xlsx", ExcelVersion.Version2013);
        }
    }
}

在 C# 和 VB.NET 中取消合并 Excel 单元格

下面是取消合并 Excel 单元格的具体操作步骤:

  • 创建一个 Workbook 对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[sheetIndex] 获取需要操作的工作表。
  • 访问指定的单元格区域,并调用 XlsRange.UnMerge() 方法取消单元格合并。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。

示例代码如下:

using Spire.Xls;

namespace UnmergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 Workbook 实例
            Workbook workbook = new Workbook();
            // 加载 Excel 文件
            workbook.LoadFromFile("MergeCells.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];
            // 取消合并单元格 A1–D1
            CellRange range = sheet.Range["A1:D1"];
            range.UnMerge();

            // 保存结果文件
            workbook.SaveToFile("UnMergeCells.xlsx", ExcelVersion.Version2013);
        }
    }
}

知识扩展

下面小编整理了其他C#合并Excel单元格的相关方法,有需要的可以参考下

1.C# NPOI Excel 合并单元格和取消单元格

合并单元操作

  //合并单元格
  /**
    第一个参数:从第几行开始合并
    第二个参数:到第几行结束合并
    第三个参数:从第几列开始合并
    第四个参数:到第几列结束合并
**/
 CellRangeAddress region = new CellRangeAddress(15, 15 , 1, 2);
 sheet.AddMergedRegion(region);

取消单元格

 private void RemoveMergedRegion(ISheet sheet,int rowIndex)
        {
            int MergedCount = sheet.NumMergedRegions;
            for (int i = MergedCount - 1; i >= 0; i--)
            {
/**
CellRangeAddress对象属性有:FirstColumn,FirstRow,LastColumn,LastRow 进行操作 取消合并单元格
**/               
 var temp = sheet.GetMergedRegion(i);
                if (temp.FirstRow == rowIndex)
                {
                    sheet.RemoveMergedRegion(i);
                }
            }
        }

2.C# 合并、或取消合并 Excel 单元格

C# 合并 Excel 指定行或列中的单元格

要合并 Excel 中指定行或列的单元格,可以直接调用 Workheet.Rows[].Merge() 或 Workheet.Columns[].Merge() 方法。具体步骤如下:

  • 创建一个 Workbook 类的对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheets[] 属性获取指定工作表。
  • 使用 Workheet.Columns[].Merge() 或 Workheet.Rows[].Merge() 方法合并特定列或指定行中的单元格。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls;

namespace MergeRowsColumns
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文件
            workbook.LoadFromFile("费用.xlsx");

            // 获取第一张工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 合并第一行
            sheet.Rows[0].Merge();

            // 合并第一列
            //sheet.Columns[0].Merge();

            // 保存结果文件
            workbook.SaveToFile("合并行或列.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 合并 Excel 中的指定单元格区域

Spire.XLS for .NET 提供的 Workbook.Range[].Merge() 方法可以实现合并指定的单元格范围。具体步骤如下:

  • 创建一个 Workbook 类的对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 示例文件。
  • 使用 Workbook.Worksheets[] 属性获取指定工作表。
  • 使用 Workbook.Range[].Merge() 方法合并特定单元格区域。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls;

namespace MergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文件
            workbook.LoadFromFile("费用.xlsx");

            // 获取第一张工作表
            Worksheet sheet = workbook.Worksheets[0];

            //合并指定单元格区域
            sheet.Range["H3:H5"].Merge();

            // 保存结果文件
            workbook.SaveToFile("合并单元格区域.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 取消合并 Excel 指定行或列中的单元格

对于已合并的 Excel 行或列,Spire.XLS for .NET 还提供了 Workheet.Rows[].UnMerge() 或 Worksheet.Columns[].UnMerge() 方法取消合并特定列或行的单元格。具体步骤如下:

  • 创建一个 Workbook 类的对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 示例文件。
  • 使用 Workbook.Worksheets[] 属性获取指定工作表。
  • 使用 Worksheet.Columns[].UnMerge() 或 Workheet.Rows[].UnMerge() 方法取消合并特定列或行中的已合并单元格。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls;

namespace UnMergeRowsColumns
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文件
            workbook.LoadFromFile("合并行或列.xlsx");

            // 获取第一张工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 取消合并第一行
            sheet.Rows[0].UnMerge();

            // 取消合并第一列
            //sheet.Columns[0].UnMerge()

            // 保存结果文件
            workbook.SaveToFile("取消合并行或列.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 取消合并 Excel 中的指定单元格区域

此外,用户还能使用 Workbook.Range[].UnMerge() 方法取消合并指定的单元格范围。具体步骤如下:

  • 创建一个 Workbook 类的对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 示例文件。
  • 使用 Workbook.Worksheets[] 属性获取指定工作表。
  • 使用 Workbook.Range[].UnMerge() 方法取消合并特定单元格区域。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls;

namespace UnMergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文件
            workbook.LoadFromFile("合并单元格区域.xlsx");

            // 获取第一张工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 取消合并指定单元格区域
            sheet.Range["H3:H5"].UnMerge();

            // 保存结果文件
            workbook.SaveToFile("取消合并单元格区域.xlsx", ExcelVersion.Version2016);
        }
    }
}

到此这篇关于C#利用Spire.XLS for .NET实现合并或取消Excel单元格的文章就介绍到这了,更多相关C#合并Excel单元格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C# 中Stopwatch和timer的实现示例

    C# 中Stopwatch和timer的实现示例

    本文主要介绍了C# 中Stopwatch和timer的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-01-01
  • 使用C#实现一个简单的绘图工具

    使用C#实现一个简单的绘图工具

    这篇文章主要为大家详细介绍了如何使用C#开发的简单绘图工具,可以将签名简单绘图后的效果以图片的形式导出,有需要的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • Unity 如何通过反射给gameObject添加组件

    Unity 如何通过反射给gameObject添加组件

    这篇文章主要介绍了Unity 通过反射给gameObject添加组件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#实现xml文件反序列化读入数据到object的方法

    C#实现xml文件反序列化读入数据到object的方法

    这篇文章主要介绍了C#实现xml文件反序列化读入数据到object的方法,涉及C#操作XML文件类型转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#实现创建,删除,查找,配置虚拟目录实例详解

    C#实现创建,删除,查找,配置虚拟目录实例详解

    这篇文章主要介绍了C#创建,删除,查找,配置虚拟目录的方法,以实例形式较为详细的分析了C#针对虚拟目录的创建、删除、查找等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#实现XML文档的增删改查功能示例

    C#实现XML文档的增删改查功能示例

    这篇文章主要介绍了C#实现XML文档的增删改查功能,结合实例形式分析了xml文档的创建及C#针对xml文档的加载及增删改查等操作技巧,需要的朋友可以参考下
    2017-01-01
  • .net使用Aspose.Words进行Word替换操作的实现代码

    .net使用Aspose.Words进行Word替换操作的实现代码

    之前在工作中,需要实现Word打印功能,并且插入图片。当时采取的方式则是使用书签进行操作。首先在word内插入书签,完成后,存为模板。程序加载该模板,找到书签,并在指定位置写入文字即可
    2013-05-05
  • C#中的正则表达式介绍

    C#中的正则表达式介绍

    关于正则表达式,我们都知道挺繁琐的。本文介绍的是C#中的正则表达式,希望对你有帮助,一起来看。
    2015-10-10
  • c#中文转unicode字符示例分享

    c#中文转unicode字符示例分享

    本文介绍了中文转unicode字符的方法,还有UNICODE字符转为中文的方法,大家参考使用吧
    2014-01-01
  • 浅谈C#中的Async和Await的用法详解

    浅谈C#中的Async和Await的用法详解

    这篇文章主要介绍了浅谈C#中的Async和Await的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论