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);
        }
    }
}
相关推荐
excel11 分钟前
webpack 核心编译器 十四 节
前端
excel18 分钟前
webpack 核心编译器 十三 节
前端
腾讯TNTWeb前端团队7 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰11 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪11 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪11 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy12 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom12 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom12 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom12 小时前
React与Next.js:基础知识及应用场景
前端·面试·github