Excel处理控件Spire.XLS系列教程:C# 合并、或取消合并 Excel 单元格

合并单元格是指将两个或多个相邻的单元格合并为一个大单元格。这样做主要是为了排版、制表的需要,使表格的标题或特定内容能够跨多个列或行显示,提升表格的可读性和美观度。但是当发现合并单元格后影响到了数据的排序、筛选等操作,或者表格布局发生变化,不再需要合并的单元格时,就需要取消合并。本文将演示如何使用 ++Spire.XLS for .NET++ ++++ 通过 C# 合并或取消合并 Excel 中的单元格

Spire.XLS for .NET试用下载

安装 Spire.XLS for .NET

E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化信创. 首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。

复制代码
PM> Install-Package Spire.XLS

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);
        }
    }
}
相关推荐
kymjs张涛25 分钟前
前沿技术周刊 2025-06-09
android·前端·ios
前端康师傅29 分钟前
JavaScript 变量详解
前端·javascript
Sun_light30 分钟前
队列:先进先出的线性数据结构及其应用
前端·javascript·算法
Data_Adventure33 分钟前
如何在本地测试自己开发的 npm 包
前端·vue.js·svg
我要打打代码38 分钟前
C#设计模式
设计模式·c#
萌萌哒草头将军1 小时前
⚓️ Oxlint 1.0 版本发布,比 ESLint 快50 到 100 倍!🚀🚀🚀
前端·javascript·vue.js
ak啊1 小时前
WebGL入门教程:实现场景中相机的视角与位置移动
前端·webgl
天天打码1 小时前
Sass具有超能力的CSS预处理器
前端·css·sass
Yana.nice1 小时前
sysctl优先级顺序
服务器·前端·网络
米花丶1 小时前
异步加载弹出层动画丢失问题
前端