在处理大型 Excel 文件时,常常需要合并行、列或特定的单元格区域。这样可以使表格中的数据更加清晰,还可以提高易读性。仅仅只需要几行代码,你就可以轻松通过 C# 或者 VB.NET 合并 Excel 单元格,还可以同时将合并后的单元格设置为居中。不管是合并整行、整列还是格式化指定区域,本文的代码实例将展示如何自动化单元格合并,并提升你的工作效率。
如果你常常在 .NET 项目中处理 Excel 文件,比如说合并单元格、格式化数据或者是生成报告,那么一款强大又稳定的 Excel 组件必不可少。Spire.XLS 就是这样的一款轻量级且功能丰富的库,可以在无需依赖 Microsoft Office 的情况下,直接通过 C# 或 VB.NET 创建、读取和修改 Excel 文件。你只需几秒钟就能通过 NuGet 将其添加到项目中:
PM> Install-Package Spire.XLS
完成安装后,就可以轻松将 Excel 工作流程自动化。
在 Excel 中合并行或列(C# 示例)
在 Excel 文件处理中,合并行或列很常见,可以帮助整理数据并让表格看起来更专业。例如,你可以将第一行横跨多列进行合并,从而形成一个清晰、居中的表格标题。使用 C# 代码,这一过程可以轻便快捷地完成,不仅节省时间,还能在处理大型 Excel 文件时保持格式不变。
下面是一个示例代码,演示如何使用 C# 在 Excel 中合并第一行并将其内容居中显示:
using Spire.Xls;
namespace MergeCells
{
class Program
{
static void Main(string[] args)
{
// 创建一个 Workbook 类的对象,并加载一个 Excel 文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("\\销售汇总.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;
// 保存修改后的文件
workbook.SaveToFile("\\合并并居中单元格.xlsx");
}
}
}
下方是合并第一行的 Excel 文件展示:
代码步骤说明
- 创建 Workbook 对象并读取 Excel 文件。
- 获取工作表 Worksheet。
- 使用 Worksheet.Rows[].Merge() 方法合并指定的行。
- 通过调整 Style.HorizontalAlignment 和 Style.VerticalAlignment 属性,将内容水平和垂直居中。如果你想进一步调整文字的方向或设置换行,可以参考 C#/VB.NET Excel 中设置文字对齐方式、方向和换行。
- 保存修改后的 Excel 文件。
上面的 C# 代码用于在 Excel 文件中合并行,同样也可以用于合并列(代码中已用注释标明)。
在合并单元格以创建整洁的表头后,也有可能需要撤销此操作。同样使用 C# 或 VB.NET 也可以轻松取消单元格合并,恢复原始的单元格布局,并且不会影响其中的数据。
合并 Excel 表格中指定单元格区域(C# 示例)
在 Excel 中使用 C# 合并特定的单元格区域非常实用,尤其是在需要突出显示某个数据区块时,例如汇总行或一组相关的列。这一过程与合并整行或整列非常相似,你仍然可以通过 Worksheet.Range[].Merge() 方法将 Merge() 应用于 CellRange 对象。只需指定要合并的确切区域,就能创建清晰、有条理的布局,并且可以在多个工作表或文件中自动执行,无需手动逐个调整单元格。
下面的示例代码演示了如何在 Excel 工作表中使用 C# 合并单元格区域 "B6:E6":
using Spire.Xls;
namespace MergeCells
{
class Program
{
static void Main(string[] args)
{
// 创建一个 Workbook 实例并加载 Excel 文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("\\销售汇总.xlsx");
// 获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
// 合并单元格区域
sheet.Range["B6:E6"].Merge();
// 保存修改后的文件
workbook.SaveToFile("\\合并单元格区域.xlsx");
}
}
}
下图为合并后的 Excel 文件:
在 Excel 中合并并居中单元格(VB.NET 示例)
与 C# 类似,你也可以使用 VB.NET 在 Excel 中合并并居中单元格,以创建清晰的表格标题或突出关键数据区域。代码的步骤基本相同,Merge() 方法也同样适用于 VB.NET 环境。 如果需要,你也可以使用我们提供的 C# ↔ VB.NET 代码转换工具,轻松将 C# 示例转换为 VB.NET,以便更快地应用到你的项目中。
下面是使用 VB.NET 在 Excel 中合并第一行并将其内容居中显示的完整代码示例:
Imports Spire.Xls
Namespace MergeCells
Friend Class Program
Private Shared Sub Main(args As String())
' 创建一个 Workbook 类的对象,并加载一个 Excel 文件
Dim workbook As Workbook = New Workbook()
workbook.LoadFromFile("\销售汇总.xlsx")
' 获取第一个工作表
Dim sheet As Worksheet = 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
' 保存修改后的文件
workbook.SaveToFile("\合并并居中单元格.xlsx")
End Sub
End Class
End Namespace
总结
通过以上示例,你可以自由使用 C# 在 Excel 中合并单元格,无论是整行、整列还是特定区域都可以轻松搞定。利用 Spire.XLS,实现 Excel 文件的自动化合并,创建清晰、专业的电子表格。感兴趣的话可以该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取 30 天免费许可证,无限制地体验全部功能!