自excel 97之后,excel具备了条件格式功能。所谓条件格式是指当指定条件为真时,excel自动应用于单元格的格式,例如,单元格填充背景色或更改字体颜色。本文将介绍如何使用spire.xls在excel中创建条件格式。
通过单元格规则和自定义公式设置条件格式
现有如下学生成绩表,需要找出成绩不及格的同学以及不及格的科目。我们可以查找所有数值低于60的单元格,进行字体加粗,然后通过自定义公式高亮数值低于60的单元格所在的行。这样就能很容易地发现谁有几门成绩不及格。
c#
//实例化workbook对象并加载文档
workbook wb = new workbook();
wb.loadfromfile(@"c:\users\administrator\desktop\成绩统计表.xlsx");
//获取第一个工作表
worksheet sheet = wb.worksheets[0];
//获取数据范围
cellrange range = sheet.range["a3:h14"];
//在所选范围添加条件格式1
conditionalformatwrapper format1 = range.conditionalformats.addcondition();
//条件格式1的类型为基于各自值设置单元格格式
format1.formattype = conditionalformattype.cellvalue;
//将数值低于60的单元格进行字体加粗
format1.firstformula = "60";
format1.operator = comparisonoperatortype.less;
format1.isbold = true;
//添加条件格式2
conditionalformatwrapper format2 = range.conditionalformats.addcondition();
//条件格式2的类型为自定义公式
format2.formattype = conditionalformattype.formula;
//自定义公式将低于60的单元格所在的行填充背景色
format2.firstformula = "=or($c3<60,$d3<60,$e3<60,$f3<60,$g3<60,$h3<60)";
format2.backcolor = color.gray;
//保存文档
wb.savetofile("条件格式.xlsx",excelversion.version2013);
vb.net
'实例化workbook对象并加载文档
dim wb as new workbook()
wb.loadfromfile("c:\users\administrator\desktop\成绩统计表.xlsx")
'获取第一个工作表
dim sheet as worksheet = wb.worksheets(0)
'获取数据范围
dim range as cellrange = sheet.range("a3:h14")
'在所选范围添加条件格式1
dim format1 as conditionalformatwrapper = range.conditionalformats.addcondition()
'条件格式1的类型为基于各自值设置单元格格式
format1.formattype = conditionalformattype.cellvalue
'将数值低于60的单元格进行字体加粗
format1.firstformula = "60"
format1.[operator] = comparisonoperatortype.less
format1.isbold = true
'添加条件格式2
dim format2 as conditionalformatwrapper = range.conditionalformats.addcondition()
'条件格式2的类型为自定义公式
format2.formattype = conditionalformattype.formula
'自定义公式将低于60的单元格所在的行填充背景色
format2.firstformula = "=or($c3<60,$d3<60,$e3<60,$f3<60,$g3<60,$h3<60)"
format2.backcolor = color.gray
'保存文档
wb.savetofile("条件格式.xlsx", excelversion.version2013)
应用数据条,色阶,图标集格式
例如在以下工作表中,我们可以在b列的单元格中添加图标集,让亏盈及幅度得到直观的体现。
c#
//实例化workbook对象并加载文档
workbook wb = new workbook();
wb.loadfromfile(@"c:\users\administrator\desktop\盈亏记录表.xlsx");
//获取第一个工作表
worksheet sheet = wb.worksheets[0];
//获取数据范围
cellrange range = sheet.range["b2:b11"];
//添加条件格式
conditionalformatwrapper format = range.conditionalformats.addcondition();
//将条件格式类型设为图标集
format.formattype = conditionalformattype.iconset;
//选择五种箭头图标
format.iconset.iconsettype = iconsettype.fivearrows;
//保存文档
wb.savetofile("数据条格式.xlsx", excelversion.version2013);
vb.net
'实例化workbook对象并加载文档
dim wb as new workbook()
wb.loadfromfile("c:\users\administrator\desktop\盈亏记录表.xlsx")
'获取第一个工作表
dim sheet as worksheet = wb.worksheets(0)
'获取数据范围
dim range as cellrange = sheet.range("b2:b11")
'添加条件格式
dim format as conditionalformatwrapper = range.conditionalformats.addcondition()
'将条件格式类型设为图标集
format.formattype = conditionalformattype.iconset
'选择五种箭头图标
format.iconset.iconsettype = iconsettype.fivearrows
'保存文档
wb.savetofile("数据条格式.xlsx", excelversion.version2013)