使用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 天的试用许可证。

相关推荐
文人sec6 小时前
玩转excel数据透视表和图表
excel
leihefeng11 小时前
PX06-对比两个 Excel 文件的差异:从逐单元格到生产级实现
python·excel
我的愿望是成为富婆15 小时前
HR数字化校招技术栈拆解:SQL、Excel、Power BI和AI工具在2026届JD中的真实权重
人工智能·sql·excel
泡海椒15 小时前
JQuick-Excel 项目定位与适用场景:声明式 Java Excel 的边界
java·开发语言·excel
96245616 小时前
从 Excel 营业流水到可验证测试订单:测试数据导入工具工程复盘
excel
用户03321266636717 小时前
Python 实现 Excel 转 XML:快速上手
python·excel
asdzx6718 小时前
Excel 水印方案对比:页眉图片 vs 背景图片(附 C# 实现)
c#·excel
Data-Miner1 天前
怎么用AI给Excel去重?先核对这7条再下手,别让好数据被删错:数以轻舟方案解析
人工智能·excel
Data-Miner2 天前
做表格数据分析的AI工具怎么选?先对一下这三个真实需求,再看哪些真能落地
人工智能·数据分析·excel
尤鸟倦8 天前
OneNote table复制到Excel遇到的各种问题
excel