Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > 条件格式 >
如何:使用三色刻度设置单元格格式

此示例演示如何应用三色刻度条件格式规则。

  1. 首先,指定将应用规则的范围的最小值、中点值和最大值阈值。阈值由 ConditionalFormattingValue 对象确定,该对象可通过 ConditionalFormattingCollection.CreateValue 方法访问。阈值的类型由 ConditionalFormattingValueType 枚举值之一指定,可以是数字、百分比、公式或百分位数。使用 ConditionalFormattingValueType.MinMax 参数调用 ConditionalFormattingCollection.CreateValue 方法,以将最小和最大阈值分别设置为单元格区域中的最低值和最高值。
  2. 若要应用由 ColorScale3ConditionalFormatting 对象表示的条件格式设置规则,请从 Worksheet.ConditionalFormattings 属性访问条件格式的集合,并使用以下参数调用 ConditionalFormattingCollection.AddColorScale3ConditionalFormatting 方法:

注意

条件格式不支持透明度。

若要删除 ColorScale3ConditionalFormatting 对象,请使用 ConditionalFormattingCollection.Remove、ConditionalFormattingCollection.RemoveAt 或 ConditionalFormattingCollection.Clear 方法。

Vb.Net
Dim conditionalFormattings As DevExpress.Spreadsheet.ConditionalFormattingCollection = worksheet.ConditionalFormattings
'使用MIN()公式将最小阈值设置为单元格范围内的最低值。
Dim minPoint As DevExpress.Spreadsheet.ConditionalFormattingValue = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Formula, "=MIN($C$2:$D$15)")
'将中点阈值设置为第50个百分位。
Dim midPoint As DevExpress.Spreadsheet.ConditionalFormattingValue = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Percentile, "50")
'使用MAX()公式将最大阈值设置为单元格范围内的最高值。
Dim maxPoint As DevExpress.Spreadsheet.ConditionalFormattingValue = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Number, "=MAX($C$2:$D$15)")
'创建三色刻度规则,以确定单元格C2到D15中的值如何变化。红色表示较低的值,黄色表示中等的值,天蓝色表示较高的值。
Dim cfRule As DevExpress.Spreadsheet.ColorScale3ConditionalFormatting = conditionalFormattings.AddColorScale3ConditionalFormatting(worksheet.Range("$C$2:$D$15"), minPoint, Color.Red, midPoint, Color.Yellow, maxPoint, Color.SkyBlue)

C#
DevExpress.Spreadsheet.ConditionalFormattingCollection conditionalFormattings = worksheet.ConditionalFormattings;
// 使用MIN()公式将最小阈值设置为单元格范围内的最低值。
DevExpress.Spreadsheet.ConditionalFormattingValue minPoint = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Formula, "=MIN($C$2:$D$15)");
// 将中点阈值设置为第50个百分位。
DevExpress.Spreadsheet.ConditionalFormattingValue midPoint = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Percentile, "50");
// 使用MAX()公式将最大阈值设置为单元格范围内的最高值。
DevExpress.Spreadsheet.ConditionalFormattingValue maxPoint = conditionalFormattings.CreateValue(DevExpress.Spreadsheet.ConditionalFormattingValueType.Number, "=MAX($C$2:$D$15)");
// 创建三色刻度规则,以确定单元格C2到D15中的值如何变化。红色表示较低的值,黄色表示中等的值,天蓝色表示较高的值。
DevExpress.Spreadsheet.ColorScale3ConditionalFormatting cfRule = conditionalFormattings.AddColorScale3ConditionalFormatting(worksheet.Range["$C$2:$D$15"], minPoint, Color.Red, midPoint, Color.Yellow, maxPoint, Color.SkyBlue);

下图显示了结果(工作簿在 Microsoft® Excel® 中打开)。成本分布使用三种颜色的渐变显示。红色代表较低的值,黄色代表中等值,天蓝色代表较高的值。