使用 C# 在 Excel 中合并并居中单元格

在处理大型 Excel 文件时,经常需要合并行、列或特定单元格区域,以使数据更加整洁、易于阅读。通过 C# 或 VB.NET,只需少量代码即可实现 Excel 单元格合并,并可将内容设置为水平和垂直居中,从而获得更加美观、专业的排版效果。无论是合并整行、整列,还是格式化指定区域,本文示例都将帮助您自动完成这些操作,提高工作效率。

环境准备

如果您经常在 .NET 项目中处理 Excel 文件,例如合并单元格、设置格式或生成报表,那么使用合适的 Excel 处理库可以显著提升开发效率。Spire.XLS 提供了丰富的 Excel 操作功能,支持在 C# 和 VB.NET 中创建、读取和编辑 Excel 文件,无需依赖 Microsoft Office。您可以通过 NuGet 快速将其集成到项目中:

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

使用 C# 合并 Excel 中的行或列

在 Excel 中,合并行或列是整理数据和创建专业表格的常用方法。例如,可以将第一行跨多个列进行合并,以创建清晰且居中的表格标题。通过 C# 代码,您可以轻松实现这一过程的自动化,从而节省时间,并确保大型 Excel 文件中的格式保持一致。

下面的代码示例演示了如何使用 C# 合并 Excel 的第一行并将其内容居中显示:

cs 复制代码
using Spire.Xls;

namespace MergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例并加载 Excel 文件
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("\\Population.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 合并第一行
            sheet.Rows[0].Merge();

            // 合并第一列
            //sheet.Columns[0].Merge();

            // 设置水平和垂直居中对齐
            sheet.Rows[0].Style.HorizontalAlignment = HorizontalAlignType.Center;
            sheet.Rows[0].Style.VerticalAlignment = VerticalAlignType.Center;

            // 保存 Excel 文件
            workbook.SaveToFile("\\Mergerowsandcenter.xls");
        }
    }
}

代码步骤说明:

  1. 创建 Workbook 对象并读取 Excel 文件。
  2. 获取指定工作表。
  3. 使用 Worksheet.Rows[].Merge() 方法合并指定行。
  4. 通过设置 Style.HorizontalAlignmentStyle.VerticalAlignment 属性,使内容水平和垂直居中对齐。
  5. 保存修改后的 Excel 文件。

上述用于合并 Excel 行的 C# 代码同样适用于合并列,相关代码已在示例中以注释形式标出。

在通过合并单元格创建整洁的表格标题后,有时您可能需要撤销该操作。此时可以使用 C# 或 VB.NET 轻松取消 Excel 单元格合并,恢复原有的单元格布局,同时不会影响其中的数据。

合并 Excel 中的指定单元格区域

使用 C# 合并 Excel 中的指定单元格区域,可用于突出显示某部分数据,例如汇总行或一组相关列。这一过程与合并整行或整列非常相似,同样可以使用 Merge() 方法,只不过需要通过 Worksheet.Range[] 获取 CellRange 对象后再调用 Merge() 方法。

通过指定需要合并的具体区域,您可以创建更加清晰、有序的表格布局,提升数据的可读性。同时,该操作还可以自动应用于多个工作表或文件,无需手动逐个调整单元格。

下面的代码示例演示了如何使用 C# 合并 Excel 工作表中的 "B6:E6" 单元格区域:

cs 复制代码
using Spire.Xls;

namespace MergeCells
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例并加载 Excel 文件
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("\\Population.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 合并 Excel 中指定的单元格区域
            sheet.Range["B6:E6"].Merge();

            // 保存 Excel 文件
            workbook.SaveToFile("\\Mergecellrange.xls");
        }
    }
}

总结

通过本文介绍的方法,您可以使用 C# 轻松实现 Excel 单元格合并操作,无论是合并整行、整列,还是指定的单元格区域,都能够通过代码高效完成。借助 Excel 处理库,您可以将这些操作自动化执行,从而减少手动编辑工作,创建更加整洁、专业的电子表格。

如果您经常需要批量处理 Excel 文件、生成报表或统一表格格式,不妨尝试使用相关工具来提升开发效率和工作质量。

相关推荐
hez20101 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
雨落倾城夏未凉6 天前
第四章c#方法-参数数组和可选参数(16)
后端·c#
唐青枫7 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战
c#·.net
唐青枫8 天前
别只会反射:C#.NET Emit 动态生成代码实战详解
c#·.net
咕白m6258 天前
.NET 环境下 Word 超链接批量提取方案
c#·.net
用户91721561902118 天前
C# 通信协议增量解析:用状态机处理半包和粘包
c#
小码编匠9 天前
C# 工控上位机必备:数据转换工具类与十个核心模块
后端·c#·.net
唐青枫11 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech12 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf13 天前
C#摸鱼实录——IoC与DI案例详解
c#