C#代码实现在Excel中添加或移除单元格边框

 更新时间:2026年03月04日 15:08:44   作者:2501_93070778  
单元格边框是指可以添加在单个单元格或一组单元格周围的线条,本文将介绍如何使用 Spire.XLS for .NET,在 C# 和 VB.NET 中实现为 Excel 添加或删除单元格边框的操作方法,有需要的可以了解下

单元格边框是指可以添加在单个单元格或一组单元格周围的线条。通过设置边框,可以实现多种效果,例如划分工作表中的不同区域、突出显示重要数据,或让报表整体看起来更加清晰美观。

本文将介绍如何使用 Spire.XLS for .NET,在 C# 和 VB.NET 中实现为 Excel 添加或删除单元格边框的操作方法。

安装 Spire.XLS for .NET

在开始之前,需要先将 Spire.XLS for .NET 安装到您的 .NET 项目中。您可以将该产品包中的 DLL 文件手动添加为项目引用,也可以通过 NuGet 进行安装。

DLL 文件可通过官网下载获取,或者直接在 NuGet 包管理器中搜索并安装。

PM> Install-Package Spire.XLS

在 C# 和 VB.NET 中为 Excel 添加单元格边框

Spire.XLS for .NET 支持为 Excel 单元格添加多种类型的边框,包括左边框、右边框、上边框、下边框、对角线边框、内部边框和外部边框等。

您既可以为单个单元格设置某一种边框,也可以为一个单元格区域批量添加多种边框。同时,还可以自定义边框的线条样式和颜色,以满足不同的排版需求。

下面是为单元格或单元格区域设置不同类型、不同样式和不同颜色边框的主要步骤:

  • 创建 Workbook 类的实例。
  • 通过 Workbook.Worksheets[int] 属性,根据索引获取指定的工作表。
  • 通过 Worksheet.Range[string] 属性,根据单元格名称获取指定的单元格区域。
  • 通过 CellRange.Borders[BordersLineType] 属性,从单元格区域的 Borders 集合中获取指定类型的边框(如左、右、上、下或对角线边框)。
  • 使用 IBorder.LineStyle 属性设置指定边框的线条样式。
  • 使用 IBorder.Color 属性设置指定边框的颜色。
  • 如需为单元格区域添加外部或内部边框,可调用 CellRange.BorderAround(LineStyleType, Color) 方法(添加外部边框)或 CellRange.BorderInside(LineStyleType, Color) 方法(添加内部边框)。需要注意,内部边框不能应用于单个单元格。
  • 也可以通过 BordersCollection.LineStyleBordersCollection.Color 属性,为整个单元格区域统一设置边框样式和颜色,然后再单独设置对角线边框的样式和颜色。
  • 最后,使用 Workbook.SaveToFile() 方法保存结果文件。

按照以上步骤,即可灵活地为 Excel 单元格添加各种边框效果。

具体示例代码如下:

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("AddBorders.xlsx", ExcelVersion.Version2013);
        }
    }
}

在 C# 和 VB.NET 中删除 Excel 单元格边框

如果需要移除某个单元格或单元格区域的所有边框,可以将 CellRange.Borders.LineStyle 属性设置为 LineStyleType.None,即可清除该区域的边框样式。

具体操作步骤如下:

  • 创建 Workbook 类的实例。
  • 使用 Workbook.LoadFromFile() 方法加载需要处理的 Excel 文件。
  • 通过 Workbook.Worksheets[int] 属性,根据索引获取指定的工作表。
  • 通过 Worksheet.Range[string] 属性,根据单元格名称获取目标单元格或单元格区域。
  • CellRange.Borders.LineStyle 属性设置为 LineStyleType.None,以移除该区域的所有边框。
  • 使用 Workbook.SaveToFile() 方法保存结果文件。

按照以上步骤,即可快速删除 Excel 中指定单元格或区域的边框。

示例代码如下:

using Spire.Xls;

namespace RemoveCellBorders
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例
            Workbook workbook = new Workbook();
            // 加载 Excel 文件
            workbook.LoadFromFile("AddBorders.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 移除单元格区域 G16:H18 的所有边框
            CellRange range = sheet.Range["G16:H18"];
            range.Borders.LineStyle = LineStyleType.None;

            // 保存结果文件
            workbook.SaveToFile("RemoveBorders.xlsx", ExcelVersion.Version2013);
        }
    }
}

到此这篇关于C#代码实现在Excel中添加或移除单元格边框的文章就介绍到这了,更多相关C# Excel添加或移除单元格边框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#跨窗体操作(引用传递) 实例代码

    C#跨窗体操作(引用传递) 实例代码

    现在给大家介绍一种最简单的跨窗体操作,WinForm的窗体是一个类,C#的类是引用类型,那么我们应该可以将WinForm窗体类进行传递,那不就可以进行操作了么?
    2013-03-03
  • C#连接Mysql数据库详细教程(内附Mysql及Navicat)

    C#连接Mysql数据库详细教程(内附Mysql及Navicat)

    这篇文章主要给大家介绍了C#连接Mysql数据库详细教程(内附Mysql及Navicat),文中通过代码示例和图文介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • C#中IList<T>与List<T>的区别深入解析

    C#中IList<T>与List<T>的区别深入解析

    本篇文章主要是对C#中IList<T>与List<T>的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 详解C#中yield关键字的用法

    详解C#中yield关键字的用法

    yield 关键字的用途是把指令推迟到程序实际需要的时候再执行,这个特性允许我们更细致地控制集合每个元素产生的时机,那么下面就一起来看下怎么用 yield 关键字吧
    2023-07-07
  • c#之事件用法

    c#之事件用法

    这篇文章介绍了c#中事件的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#在MySQL大量数据下的高效读取、写入详解

    C#在MySQL大量数据下的高效读取、写入详解

    最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。
    2016-11-11
  • c#中DateTime.Now函数的使用详解

    c#中DateTime.Now函数的使用详解

    本篇文章对c#中DateTime.Now函数的使用进行了介绍。需要的朋友参考下
    2013-05-05
  • 深入HTTP head的使用详解

    深入HTTP head的使用详解

    本篇文章是对HTTP head的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Unity控制指针旋转到指定位置

    Unity控制指针旋转到指定位置

    这篇文章主要为大家详细介绍了Unity控制指针旋转到指定位置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 举例讲解C#中自动实现的属性

    举例讲解C#中自动实现的属性

    这篇文章主要介绍了C#中自动实现的属性,包括使用自动实现的属性实现轻量类的方法,需要的朋友可以参考下
    2016-01-01

最新评论