在本文中,您将了解如何在 C# 中合并或取消合并工作表中的 Excel 单元格。通常,合并单元格是指将一个或多个单元格连接在一起形成一个大单元格。但是,可以垂直或水平合并相邻的单元格。而将一个大单元格转换为多个单元格在 Excel 工作表中称为取消合并或拆分单元格。让我们探索以下用例:
- 使用 C# 合并工作表中的 Excel 单元格
- 使用 C# 取消合并工作表中的 Excel 单元格
- 使用 C# 合并工作表中的一系列 Excel 单元格
- 使用 C# 取消合并工作表中的一系列 Excel 单元格
- 用C#合并工作表中命名范围的Excel单元格
使用 C# 合并工作表中的 Excel 单元格
您可以使用 C# 使用 Aspose.Cells for .NET API 轻松合并 Excel 工作表中的单元格。在此示例中,我们将从头开始创建一个新的 Excel 工作表,然后按照以下步骤合并几个单元格:
下面的代码片段显示了如何使用 C# 合并 Excel 工作表中的单元格:
// 创建工作簿。
Workbook wbk = new Workbook();
// 创建一个工作表并获取第一张工作表。
Worksheet worksheet = wbk.Worksheets[0];
// 创建一个 Cells 对象以获取所有单元格。
Cells cells = worksheet.Cells;
// 将一些单元格 (C6:E7) 合并为一个 C6 单元格。
cells.Merge(5, 2, 2, 3);
// 将数据输入 C6 Cell。
worksheet.Cells[5, 2].PutValue("This is my value");
// 创建一个 Style 对象以获取 C6 单元格的样式。
Style style = worksheet.Cells[5, 2].GetStyle();
// 创建一个字体对象
Font font = style.Font;
// 设置名称。
font.Name = "Times New Roman";
// 设置字体大小。
font.Size = 18;
// 设置字体颜色
font.Color = System.Drawing.Color.Blue;
// 加粗文字
font.IsBold = true;
// 使其斜体
font.IsItalic = true;
// 将C6 Cell的背景颜色设置为红色
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;
// 将样式应用于 C6 单元格。
cells[5, 2].SetStyle(style);
// 保存工作簿。
wbk.Save(dataDir + "MergeCells.xlsx");
从此代码段生成的输出文件将包含合并的单元格,如下面的屏幕截图所示:
使用 C# 取消合并工作表中的 Excel 单元格
我们已经学习了如何合并 Excel 文件中的单元格。让我们把这个过程更进一步。在这里,我们将考虑按照以下步骤取消合并 Excel 工作表中的单元格:
下面的代码片段基于这些步骤,并展示了如何使用 C# 取消合并 Excel 文件中的单元格:
// 打开excel文件。
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");
// 创建一个工作表并获取第一张工作表。
Worksheet worksheet = wbk.Worksheets[0];
// 创建一个 Cells 对象以获取所有单元格。
Cells cells = worksheet.Cells;
// 取消合并单元格。
cells.UnMerge(5, 2, 2, 3);
// 保存文件。
wbk.Save(dataDir + "UnmergeCells.xlsx");
下图显示了在您的环境中运行上述代码时未合并的单元格的外观:
使用 C# 合并工作表中的一系列 Excel 单元格
有时会在不同的单元格范围下指定多个单元格。您可能希望在 Excel 工作表中合并特定范围的单元格。在这种情况下,请按照下列步骤操作:
下面的代码片段显示了如何使用 C# 将单元格区域合并到 Excel 文件中的一个更大的单元格中:
// 创建工作簿
Workbook workbook = new Workbook();
// 访问第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 将数据输入 C6 Cell。
worksheet.Cells[0, 0].PutValue("Merge Range");
// 创建范围
Range range = worksheet.Cells.CreateRange("A1:D4");
// 将范围合并到一个单元格中
range.Merge();
// 保存工作簿
workbook.Save(dataDir + "Merge_Range.xlsx");
使用 C# 取消合并工作表中的一系列 Excel 单元格
在前面的示例中,我们已经探索了在 Excel 中合并一系列单元格。让我们按照以下步骤继续取消合并合并的单元格:
下面的代码片段遵循这些步骤,并展示了如何使用 C# 取消合并 Excel 工作表中的一系列单元格:
// 创建工作簿
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");
// 访问第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 创建范围
Range range = worksheet.Cells.CreateRange("A1:D4");
// 取消合并范围
range.UnMerge();
// 保存工作簿
workbook.Save(dataDir + "UnmergeRange.xlsx");
用C#合并工作表中命名范围的Excel单元格
有时 Excel 文件包含多个命名范围,因为它很容易识别和操作。因此,您还可以通过指定名称来合并任何命名范围。结果,该命名范围内的所有单元格将合并到一个更大的单元格中。您需要按照以下步骤操作:
下面的代码片段解释了如何在 C# 中合并命名区域中的单元格:
// 加载工作簿
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");
// 访问第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 指定范围
Range range = worksheet.Cells.CreateRange("A1:D4");
range.Name = "Named_Range";
// 获取范围。
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");
// 定义样式对象。
Style style = workbook.CreateStyle();
// 设置对齐方式。
style.HorizontalAlignment = TextAlignmentType.Center;
// 创建一个 StyleFlag 对象。
StyleFlag flag = new StyleFlag();
// 使相对样式属性为 ON。
flag.HorizontalAlignment = true;
// 将样式应用于范围。
range1.ApplyStyle(style, flag);
// 将数据输入范围。
range1[0, 0].PutValue("Aspose");
// 合并范围
range.Merge();
// 保存工作簿
workbook.Save(dataDir + "Merge_NamedRange.xlsx");
上述代码段的输出将与下图相同:
结论
合并或取消合并 Excel 工作簿和工作表中的单元格是一项重要且有用的功能。我们在本文中编译了不同的可能用例以及所有步骤和图像。现在,您可以轻松地按照这些步骤合并或取消合并 Excel 文件中的单元格、范围或命名范围。如有任何疑问或疑虑,您可以通过免费支持论坛与我们联系。