使用C#代码合并或取消合并 Excel 单元格

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

安装 Spire.XLS for .NET

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

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

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

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

  1. 创建一个 Workbook 实例。

  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  3. 通过 Workbook.Worksheets[sheetIndex] 获取需要操作的工作表。

  4. 访问指定的单元格区域,并调用 XlsRange.Merge() 方法将其合并为一个单元格。

  5. 将合并后单元格中的文本水平居中,可将 CellRange.Style.HorizontalAlignment 属性设置为 HorizontalAlignType.Center

  6. 最后,使用 Workbook.SaveToFile() 方法保存生成的结果文件。

示例代码如下:

cs 复制代码
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 单元格的具体操作步骤:

  1. 创建一个 Workbook 对象。

  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。

  3. 通过 Workbook.Worksheets[sheetIndex] 获取需要操作的工作表。

  4. 访问指定的单元格区域,并调用 XlsRange.UnMerge() 方法取消单元格合并。

  5. 使用 Workbook.SaveToFile() 方法保存结果文件。

示例代码如下:

cs 复制代码
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);
        }
    }
}

申请临时许可证

如果您希望去除生成文档中的评估提示,或解除功能限制,请为自己申请一个有效期为 30 天的试用许可证。

相关推荐
程序员敲代码吗3 小时前
在Excel中快速进行精确数据查找的方法
excel
CodeToGym16 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
qq_297574671 天前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
曹牧3 天前
Excel:筛选两列中不匹配项
excel
それども3 天前
Excel文件解析 - 什么是SAX和DOM
java·excel
それども3 天前
Excel文件解析 - SAX和DOM方式的区别
java·前端·excel
それども3 天前
Excel文件解析 - SAX startRow cell endRow 执行顺序
java·前端·excel
梦因you而美3 天前
Python win32com操作Excel:彻底禁用链接更新及各类弹窗(实测有效)
python·excel·win32com·禁用链接更新·excel弹框
それども3 天前
Excel文件解析 - SAX startRow cell endRow 执行时机
java·excel
HWL56793 天前
在网页中实现WebM格式视频自动循环播放
前端·css·html·excel·音视频