单元格边框是指在单元格或单元格区域周围添加的线条。它们可用于不同的目的,如分隔工作表中的部分、吸引读者注意重要的单元格或使工作表看起来更美观。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中添加或删除 Excel 单元格边框。
安装 Spire.XLS for .NET
E-iceblue旗下spire系列产品是国产文档处理领域的优秀产品,支持国产化信创。首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
Spire.XLS for .NET下载
PM> Install-Package Spire.XLS
C# 在 Excel 中添加单元格边框
Spire.XLS for .NET 支持给 Excel 单元格添加各种边框,如左边框、右边框、上边框、下边框、对角线边框、内边框和外边框。
您可以为单个单元格或单元格区域添加特定边框或多个边框。此外,还可以为边框设置不同的线条样式和线条颜色。以下是为 Excel 单元格设置不同类型、不同线条样式和线条颜色的边框的主要步骤:
- 创建一个 Workbook 类的对象。
- 通过 Workbook.Worksheets[int] 属性根据索引获取特定工作表。
- 通过 Workbook.Range[] 属性获取特定单元格区域。
- 通过 CellRange.Borders[BordersLineType] 属性从单元格区域的 Borders 集合中获取特定边框(如左、右、上、下和对角线)。
- 通过 IBorder.LineStyle 属性设置特定边框的线条样式。
- 通过 IBorder.Color 属性设置特定边框的线条颜色。
- 通过 Workheet.Range[] 属性获取特定单元格区域。
- 使用 CellRange.BorderAround(LineStyleType, Color) 方法和 CellRange.BorderInside(LineStyleType, Color) 方法为单元格区域添加外部边框和内部边框。请注意,内边框不能应用于单个单元格。
- 通过 Worksheet.Range[] 属性获取特定单元格区域。
- 通过 BordersCollection.LineStyle 和 BordersCollection.Color 属性为单元格区域的边框设置线条样式和线条颜色,然后为单元格区域的对角线边框设置线条样式和颜色。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls; using Spire.Xls.Core; using System.Drawing; namespace AddCellBorders { class Program { static void Main(string[] args) { // 创建Workbook对象 Workbook workbook = new Workbook(); // 获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; // 为 B2 单元格设置左、右、上、下和斜向上边框 CellRange range = sheet.Range["B2"]; IBorder leftBorder = range.Borders[BordersLineType.EdgeLeft]; leftBorder.LineStyle = LineStyleType.MediumDashDotDot; leftBorder.Color = Color.Red; IBorder rightBorder = range.Borders[BordersLineType.EdgeRight]; rightBorder.LineStyle = LineStyleType.MediumDashed; rightBorder.Color = Color.Red; IBorder topBorder = range.Borders[BordersLineType.EdgeTop]; topBorder.LineStyle = LineStyleType.Medium; topBorder.Color = Color.Red; IBorder bottomBorder = range.Borders[BordersLineType.EdgeBottom]; bottomBorder.LineStyle = LineStyleType.Medium; bottomBorder.Color = Color.Red; IBorder diagonalUpBorder = range.Borders[BordersLineType.DiagonalUp]; diagonalUpBorder.LineStyle = LineStyleType.Thin; diagonalUpBorder.Color = Color.Red; // 为 C4 单元格设置对角线边框 range = sheet.Range["C4"]; diagonalUpBorder = range.Borders[BordersLineType.DiagonalUp]; diagonalUpBorder.LineStyle = LineStyleType.Double; diagonalUpBorder.Color = Color.Blue; IBorder diagonalDownBorder = range.Borders[BordersLineType.DiagonalDown]; diagonalDownBorder.LineStyle = LineStyleType.Double; diagonalDownBorder.Color = Color.Blue; // 为单元格 D6 设置外部边框 range = sheet.Range["D6"]; range.BorderAround(LineStyleType.Double, Color.Green); // 为单元格区域 E8:F10 设置内边框 range = sheet.Range["E8:F10"]; range.BorderInside(LineStyleType.MediumDashed, Color.DarkGray); // 为单元格区域 F12:G14 设置内部和外部边框 range = sheet.Range["F12:G14"]; range.BorderInside(LineStyleType.MediumDashed, Color.Pink); range.BorderAround(LineStyleType.Medium, Color.Magenta); // 为单元格区域 G16:H18 设置边框 range = sheet.Range["G16:H18"]; range.Borders.LineStyle = LineStyleType.Thick; range.Borders.Color = Color.Cyan; // 为单元格区域 G16:H18 设置对角线边框的线条样式和线条颜色 diagonalUpBorder = range.Borders[BordersLineType.DiagonalUp]; diagonalUpBorder.LineStyle = LineStyleType.Dotted; diagonalUpBorder.Color = Color.DarkGray; diagonalDownBorder = range.Borders[BordersLineType.DiagonalDown]; diagonalDownBorder.LineStyle = LineStyleType.Dotted; diagonalDownBorder.Color = Color.DarkGray; // 保存结果文件 workbook.SaveToFile("Excel边框.xlsx", ExcelVersion.Version2016); } } }
C# 删除 Excel 单元格边框
通过将 CellRange.Borders.LineStyle 属性设置为 LineStyleType.None,可以删除单元格或单元格区域的所有边框。具体步骤如下:
- 创建一个 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 通过 Workbook.Worksheets[int] 属性根据索引获取特定工作表。
- 通过 Workbook.Range[] 属性获取特定单元格区域。
- 通过将 CellRange.Borders.LineStyle 属性设置为 LineStyleType.None,删除单元格区域的边框。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
using Spire.Xls; namespace RemoveCellBorders { class Program { static void Main(string[] args) { // 创建Workbook对象 Workbook workbook = new Workbook(); // 加载 Excel 文件 workbook.LoadFromFile("Excel边框.xlsx"); // 获取第一个工作表 Worksheet sheet = workbook.Worksheets[0]; // 删除单元格区域 G16:H18 的边框 CellRange range = sheet.Range["G16:H18"]; range.Borders.LineStyle = LineStyleType.None; // 保存结果文件 workbook.SaveToFile("删除边框.xlsx", ExcelVersion.Version2016); } } }
————————————————————————————————————————