合并单元格是指将两个或多个相邻的单元格合并为一个大单元格。这样做主要是为了排版、制表的需要,使表格的标题或特定内容能够跨多个列或行显示,提升表格的可读性和美观度。但是当发现合并单元格后影响到了数据的排序、筛选等操作,或者表格布局发生变化,不再需要合并的单元格时,就需要取消合并。本文将演示如何使用 Spire.XLS for .NET通过 C# 合并或取消合并 Excel 中的单元格。
安装 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); } } }