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
具体步骤
- 创建一个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.Yellow; //添加另一个条件以根据公式更改单元格的格式
IConditionalFormat condition2 = format.AddCondition();
condition2.FirstFormula = "=MOD(ROW(),2)=1";
condition2.FormatType = ConditionalFormatType.Formula;
condition2.BackColor = Color.LightGreen; //保存文件
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.Yellow '添加另一个条件以根据公式更改单元格的格式
Dim condition2 As IConditionalFormat = format.AddCondition()
condition2.FirstFormula = "=MOD(ROW(),2)=1"
condition2.FormatType = ConditionalFormatType.Formula
condition2.BackColor = Color.LightGreen '保存文件
workbook.SaveToFile("交替行颜色.xlsx", ExcelVersion.Version2016)
End Sub
End Class
End Namespace
效果图

注意:测试代码中的文件路径为程序Debug路径,仅供参考,文件路径可自定义为其他路径。
C#/VB.NET 如何在Excel中使用条件格式设置交替行颜色的更多相关文章
- Excel根据单元格内容设置整行颜色
1. 选择需要设置的区域,条件格式中找到“新建规则” 2. 弹出窗口中选择“使用公式确定要设置格式的单元格”一项.填写公式如下: =IF(OR($D1="已完成",$D1=&quo ...
- 如何在Excel中少犯二(I)
作者:何明科链接:https://zhuanlan.zhihu.com/p/23472480来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 收到不少建议,要求开知乎Li ...
- 如何在latex 中插入EPS格式图片
如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所 ...
- 【原创】如何在Android中为TextView动态设置drawableLeft等
如何在Android中为TextView动态设置drawableLeft等 两种方式: 方式1:手动设置固有边界 Drawable drawable = getResources().getD ...
- Java处理Excel中的日期格式
Java处理Excel中的日期格式 2011-12-23 17:34:03| 分类: java |举报 |字号 订阅 下载LOFTER 我的照片书 | 在Excel中的日期格式,其数值为距离1 ...
- [VBA]用一个简单例子说明如何在Excel中自定义函数
Excel中的函数无疑是强大的,但是再强大的战士也有他脆弱的脚后跟[1].这两天在使用Excel的时候遇到了一个需求,要在某一个单元格里面自动计算今天是星期几(如显示 Today is Tuesday ...
- 如何在Excel中通过VBA快速查找多列重复的值
今天项目组的一个同事问我如何快速的找到一个Excel中第3列和第5列的值完全重复的值,我想了想虽然Excel中自带查找重复值的功能,但是好像只能对同一列进行比较,所以就写了一个VBA进行处理,VBA非 ...
- 如何在Excel中提取小数点后面的数字?
Excel中,如果某个单元格中包含一个带小数,要用公式提取该数值小数点后面的数字,例如A1单元格中包含一个数值“59178.68”,在B1单元格中输入下面的公式: =RIGHT(A1,LEN(A1)- ...
- POI操作excel中的日期格式处理
转载:http://blog.csdn.net/fuxiaohui/article/details/6239925 7.3.3 POI中Excel文件Cell的类型 在读取每一个Cell的值的时候,通 ...
随机推荐
- C# Winform程序界面优化实例
进入移动互联网时代以来,Windows桌面开发已经很久不碰了.之前就是从做Windows开发入行的. 当年,还是C++ VC6, MFC的时代.那时候开发要查的是MSDN :-).内存要自己管理, 排 ...
- Java ArrayList和LinkedList
目录 集合的概念 集合体系结构 常用list集合 list集合的特点 ArrayList LinkedList 创建对象 常用方法 遍历 ArrayList和LinkedList的区别 集合的概念 ...
- 异构图神经网络笔记-Heterogeneous Graph Neural Network(KDD19)
自己讲论文做的异构图神经网络的ppt.再转变成博客有点麻烦,所以做成图片笔记. 论文链接:https://arxiv.org/abs/1903.07293
- Lambda表达式有参数有返回值的练习(自定义接口)和Lambda省略格式&Lambda使用前提
给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值 使用L ambdo的标准格式调用invokeCalc方法,完成120和130的相加计算 public in ...
- HashSet集合存储数据的结构和HashSet集合存储元素不重复的原理
HashSet集合存储数据的结构 HashSet集合存储元素不重复的原理 //创建HashSet集合对象 Hashset<String> set = new HashSet<> ...
- Eclipse Ctrl+鼠标左键不能查看源代码
查询当前项目的使用的java包版本. 找到java包相应版本的安装路径. 在 "Source Attachment"对话框下,选择"External location&q ...
- Kafka Topic Partition Offset 这一长串都是啥?
摘要:Offset 偏移量,是针对于单个partition存在的概念. 本文分享自华为云社区<Kafka Topic Partition Offset 这一长串都是啥?>,作者: gent ...
- 【每天学一点-05】使用umi.js代理,解决跨域问题(前端)
一.user.ts 前端请求接口 import request from 'umi-request'; const getAway = '/user'; // 获取用户列表 export const ...
- Go 接口:深入内部原理
接口的基本概念不在这里赘述,详情请看第十六章:接口 nil 非空? package main func main() { var obj interface{} obj = 1 println(obj ...
- [极客大挑战 2019]BabySQL-1|SQL注入
1.打开题目之后,查看源代码信息,发现check.php文件,结果如下: 2.那就只能尝试登录,经测试当输入or.by.select.from.and.where等关键字时会被过滤且会被过滤为空(过滤 ...