C#/VB.NET 如何在Excel中使用条件格式设置交替行颜色

Posted 毛毛雨大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#/VB.NET 如何在Excel中使用条件格式设置交替行颜色相关的知识,希望对你有一定的参考价值。

说起高亮数据行,不让人想起了交替颜色行,有的人把交替颜色行也都设置成高亮,不仅不美观,而且对阅读还是个干扰。隔行交替的颜色是为了阅读不串行,这些行只是环境,数据才是主体。那么如何通过C#/VB.NET代码在Excel中使用条件格式设置交替行颜色呢?下面是我整理的具体步骤,并附上C#/VB.NET代码供大家参考,希望对大家有所帮助。

使用工具:​Free Spire.XLS for .NET​(免费版)

程序环境

本次测试时,在程序中引入 Free Spire.XLS for .NET。可通过以下方法引用Spire.XLS.dll文件:

方法1:将 Free Spire.XLS for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.XLS.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2:通过 ​​ NuGet ​​安装。可通过以下2种方法安装:

(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.XLS”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到PM控制台安装。

Install-Package FreeSpire.XLS -Version 12.7.0

具体步骤
  • 创建一个Workbook对象
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worsheets[index] 属性从工作簿中获取特定的工作表。
  • 使用 Worksheet.ConditionalFormats.Add() 方法向工作表添加条件格式,并返回 XlsConditionalFormats 类的对象。
  • 使用 XlsConditionalFormats.AddRange() 方法设置应用条件格式的单元格范围。
  • 使用XlsConditionalFormats.AddCondition()方法添加条件,然后设置条件公式和偶数行的单元格颜色。添加另一个条件以更改奇数行单元格的格式。
  • 使用Workbook.SaveToFile() 方法保存为Excel 文件。
完整代码

【C#】

using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.Spreadsheet.Collections;
using System.Drawing;

namespace AlternateRowColors

class Program

static void Main(string[] args)

//创建一个Workbook对象
Workbook workbook = new Workbook();

//加载 Excel 文件
workbook.LoadFromFile("商品采买表.xlsx");

//获取特定的工作表
Worksheet sheet = workbook.Worksheets[0];

//向工作表添加条件格式
XlsConditionalFormats format = sheet.ConditionalFormats.Add();

//设置应用条件格式的范围
format.AddRange(sheet.Range[2, 1, sheet.LastRow, sheet.LastColumn]);

//添加条件以根据公式更改单元格的格式
IConditionalFormat condition1 = format.AddCondition();
condition1.FirstFormula = "=MOD(ROW(),2)=0";
condition1.FormatType = ConditionalFormatType.Formula;
condition1.BackColor = Color.LightPink;

//添加另一个条件以根据公式更改单元格的格式
IConditionalFormat condition2 = format.AddCondition();
condition2.FirstFormula = "=MOD(ROW(),2)=1";
condition2.FormatType = ConditionalFormatType.Formula;
condition2.BackColor = Color.LightSkyBlue;

//保存文件
workbook.SaveToFile("交替行颜色.xlsx", ExcelVersion.Version2016);


【VB.NET】

Imports Spire.Xls
Imports Spire.Xls.Core
Imports Spire.Xls.Core.Spreadsheet.Collections
Imports System.Drawing

Namespace AlternateRowColors
Friend Class Program
Private Shared Sub Main(ByVal args As String())
创建一个Workbook对象
Dim workbook As Workbook = New Workbook()

加载 Excel 文件
workbook.LoadFromFile("商品采买表.xlsx")

获取特定的工作表
Dim sheet As Worksheet = workbook.Worksheets(0)

向工作表添加条件格式
Dim format As XlsConditionalFormats = sheet.ConditionalFormats.Add()

设置应用条件格式的范围
format.AddRange(sheet.Range(2, 1, sheet.LastRow, sheet.LastColumn))

添加条件以根据公式更改单元格的格式
Dim condition1 As IConditionalFormat = format.AddCondition()
condition1.FirstFormula = "=MOD(ROW(),2)=0"
condition1.FormatType = ConditionalFormatType.Formula
condition1.BackColor = Color.LightPink

添加另一个条件以根据公式更改单元格的格式
Dim condition2 As IConditionalFormat = format.AddCondition()
condition2.FirstFormula = "=MOD(ROW(),2)=1"
condition2.FormatType = ConditionalFormatType.Formula
condition2.BackColor = Color.LightSkyBlue

保存文件
workbook.SaveToFile("交替行颜色.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
效果图

C#/VB.NET

注意:测试代码中的文件路径为程序Debug路径,仅供参考,文件路径可自定义为其他路径。

以上是关于C#/VB.NET 如何在Excel中使用条件格式设置交替行颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VB.NET 中将 DataGridView 导出为 Excel 格式

C#/VB.NET 获取Excel中的表单控件

如何使用 VB.Net 自定义 Excel

C#/VB.NET 将PDF转为Excel

VB.net中如何嵌套EXCEL?

vb.net 导出PDF