/// <summary> /// Highlight cells with values compared to the average. /// </summary> /// <param name="AverageType">The type of comparison to the average.</param> /// <param name="HighlightStyle">A custom formatted style. Note that only number formats, fonts, borders and fills are used. Note further that for fonts, only italic/bold, underline, color and strikethrough settings are used.</param> public void HighlightCellsAboveAverage(SLHighlightCellsAboveAverageValues AverageType, SLStyle HighlightStyle) { this.HighlightCellsAboveAverage(AverageType, this.TranslateToDifferentialFormat(HighlightStyle)); }
private void HighlightCellsAboveAverage(SLHighlightCellsAboveAverageValues AverageType, SLDifferentialFormat HighlightStyle) { SLConditionalFormattingRule cfr = new SLConditionalFormattingRule(); cfr.Type = ConditionalFormatValues.AboveAverage; switch (AverageType) { case SLHighlightCellsAboveAverageValues.Above: // that's all is needed! break; case SLHighlightCellsAboveAverageValues.Below: cfr.AboveAverage = false; break; case SLHighlightCellsAboveAverageValues.EqualOrAbove: cfr.EqualAverage = true; break; case SLHighlightCellsAboveAverageValues.EqualOrBelow: cfr.EqualAverage = true; cfr.AboveAverage = false; break; case SLHighlightCellsAboveAverageValues.OneStdDevAbove: cfr.StdDev = 1; break; case SLHighlightCellsAboveAverageValues.OneStdDevBelow: cfr.AboveAverage = false; cfr.StdDev = 1; break; case SLHighlightCellsAboveAverageValues.TwoStdDevAbove: cfr.StdDev = 2; break; case SLHighlightCellsAboveAverageValues.TwoStdDevBelow: cfr.AboveAverage = false; cfr.StdDev = 2; break; case SLHighlightCellsAboveAverageValues.ThreeStdDevAbove: cfr.StdDev = 3; break; case SLHighlightCellsAboveAverageValues.ThreeStdDevBelow: cfr.AboveAverage = false; cfr.StdDev = 3; break; } cfr.DifferentialFormat = HighlightStyle.Clone(); cfr.HasDifferentialFormat = true; this.AppendRule(cfr); }