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#创建自定义控件的示例

    C#创建自定义控件的示例

    这篇文章主要介绍了C#创建自定义控件的示例,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2020-10-10
  • C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

    C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

    这篇文章主要介绍了C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate如何使用

    这篇文章主要给大家介绍了关于C#中Action、Func和Predicate如何使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 在WPF中实现TextBlock自动换行的关键方法

    在WPF中实现TextBlock自动换行的关键方法

    本文介绍了WPF中TextBlock默认不换行的问题,需设置TextWrapping属性,推荐使用Wrap,提供了XAML与C#代码示例,并详细说明了手动强制换行的方法,此外,还讨论了常见问题及其解决方案,并介绍了进阶用法,如结合TextTrimming显示省略号,需要的朋友可以参考下
    2026-04-04
  • C#远程发送和接收数据流生成图片的方法

    C#远程发送和接收数据流生成图片的方法

    这篇文章主要介绍了C#远程发送和接收数据流生成图片的方法,涉及C#通过数据流传输图片的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#内置泛型委托之Func委托

    C#内置泛型委托之Func委托

    这篇文章介绍了C#内置泛型委托之Func委托的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • ActiveMQ在C#中的应用示例分析

    ActiveMQ在C#中的应用示例分析

    这篇文章主要介绍了ActiveMQ在C#中的应用,简单介绍了ActiveMQ的功能、下载及在C#中的具体使用方法,需要的朋友可以参考下
    2016-07-07
  • C#使用Shader实现夜幕降临倒计时的效果

    C#使用Shader实现夜幕降临倒计时的效果

    这篇文章主要介绍了C#使用Shader实现夜幕降临倒计时的效果,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • C#中DrawCurve的用法小结

    C#中DrawCurve的用法小结

    本文主要介绍了C#中DrawCurve的用法小结,通常用于绘制一条平滑的曲线通过一系列给定的点,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • DevExpress之ChartControl实现柱状图演示实例

    DevExpress之ChartControl实现柱状图演示实例

    这篇文章主要介绍了DevExpress中ChartControl实现柱状图演示方法,实例展示了相关绘图函数的具体用法,具有一定的实用价值,需要的朋友可以参考下
    2014-10-10

最新评论