C#利用Spire.XLS for .NET实现合并或取消Excel单元格
作者:2501_93070778
合并单元格是指将两个或多个独立的单元格合并为一个较大的单元格,常用于需要创建跨多列显示的标题或标签。本文将演示如何使用 Spire.XLS for .NET 库,通过 C# 和 VB.NET 在 Excel 中实现单元格的合并与取消合并操作。
安装 Spire.XLS for .NET
首先,需要在你的 .NET 项目中添加 Spire.XLS for .NET 包中包含的 DLL 文件作为引用。你可以通过官网下载 DLL 文件手动添加,也可以直接通过 NuGet 安装该库。
PM> Install-Package Spire.XLS
使用 C# 和 VB.NET 合并 Excel 单元格
以下是通过代码在 Excel 中合并单元格的基本步骤:
- 创建一个
Workbook实例。 - 使用
Workbook.LoadFromFile()方法加载 Excel 文件。 - 通过
Workbook.Worksheets[sheetIndex]获取需要操作的工作表。 - 访问指定的单元格区域,并调用
XlsRange.Merge()方法将其合并为一个单元格。 - 将合并后单元格中的文本水平居中,可将
CellRange.Style.HorizontalAlignment属性设置为HorizontalAlignType.Center。 - 最后,使用
Workbook.SaveToFile()方法保存生成的结果文件。
示例代码如下:
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 单元格的具体操作步骤:
- 创建一个
Workbook对象。 - 使用
Workbook.LoadFromFile()方法加载 Excel 文件。 - 通过
Workbook.Worksheets[sheetIndex]获取需要操作的工作表。 - 访问指定的单元格区域,并调用
XlsRange.UnMerge()方法取消单元格合并。 - 使用
Workbook.SaveToFile()方法保存结果文件。
示例代码如下:
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);
}
}
}知识扩展
下面小编整理了其他C#合并Excel单元格的相关方法,有需要的可以参考下
1.C# NPOI Excel 合并单元格和取消单元格
合并单元操作
//合并单元格
/**
第一个参数:从第几行开始合并
第二个参数:到第几行结束合并
第三个参数:从第几列开始合并
第四个参数:到第几列结束合并
**/
CellRangeAddress region = new CellRangeAddress(15, 15 , 1, 2);
sheet.AddMergedRegion(region);取消单元格
private void RemoveMergedRegion(ISheet sheet,int rowIndex)
{
int MergedCount = sheet.NumMergedRegions;
for (int i = MergedCount - 1; i >= 0; i--)
{
/**
CellRangeAddress对象属性有:FirstColumn,FirstRow,LastColumn,LastRow 进行操作 取消合并单元格
**/
var temp = sheet.GetMergedRegion(i);
if (temp.FirstRow == rowIndex)
{
sheet.RemoveMergedRegion(i);
}
}
}2.C# 合并、或取消合并 Excel 单元格
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);
}
}
}到此这篇关于C#利用Spire.XLS for .NET实现合并或取消Excel单元格的文章就介绍到这了,更多相关C#合并Excel单元格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
