Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Using Above Average Conditional Formatting in tools like Microsoft Excel or Google Sheets is a quick and visual way to highlight data that stands out—specifically, values that are higher than the average in a range. Here’s why you might use it:
To add Above Average conditional formatting in Excel, here’s how you can do it step by step:
Aspose.Cells fully supports the conditional formatting provided by Microsoft Excel 2007 and later versions in XLSX format on cells at runtime. This example demonstrates an exercise for Above Average conditional formatting with different sets of attributes.
| private void TestAboveAverage() | |
| { | |
| // Instantiate a workbook object | |
| Workbook book = new Workbook(); | |
| // Create a worksheet object and get the first worksheet | |
| Worksheet _sheet = book.Worksheets[0]; | |
| AddAboveAverage(_sheet); | |
| AddAboveAverage2(_sheet); | |
| AddAboveAverage3(_sheet); | |
| book.Save(filePath + "AboveAverage.xlsx"); | |
| } | |
| // This method implements the AboveAverage conditional formatting type. | |
| private void AddAboveAverage(Worksheet _sheet) | |
| { | |
| FormatConditionCollection conds = GetFormatCondition("A11:C12", Color.Tomato, _sheet); | |
| int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
| FormatCondition cond = conds[idx]; | |
| cond.Style.BackgroundColor = Color.Pink; | |
| cond.Style.Pattern = BackgroundType.Solid; | |
| } | |
| // This method implements an AboveAverage conditional formatting type with some custom attributes. | |
| private void AddAboveAverage2(Worksheet _sheet) | |
| { | |
| FormatConditionCollection conds = GetFormatCondition("A13:C14", Color.Empty, _sheet); | |
| int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
| FormatCondition cond = conds[idx]; | |
| cond.AboveAverage.IsAboveAverage = false; | |
| cond.AboveAverage.IsEqualAverage = true; | |
| cond.Style.BackgroundColor = Color.Pink; | |
| cond.Style.Pattern = BackgroundType.Solid; | |
| } | |
| // This method implements an AboveAverage conditional formatting type with some custom attributes. | |
| private void AddAboveAverage3(Worksheet _sheet) | |
| { | |
| FormatConditionCollection conds = GetFormatCondition("A15:C16", Color.Empty, _sheet); | |
| int idx = conds.AddCondition(FormatConditionType.AboveAverage); | |
| FormatCondition cond = conds[idx]; | |
| cond.AboveAverage.IsAboveAverage = false; | |
| cond.AboveAverage.IsEqualAverage = true; | |
| cond.AboveAverage.StdDev = 3; | |
| cond.Style.BackgroundColor = Color.Pink; | |
| cond.Style.Pattern = BackgroundType.Solid; | |
| } | |
| // This method adds formatted conditions. | |
| private FormatConditionCollection GetFormatCondition(string cellAreaName, Color color, Worksheet _sheet) | |
| { | |
| // Adds an empty conditional formattings | |
| int index = _sheet.ConditionalFormattings.Add(); | |
| // Get the formatted conditions | |
| FormatConditionCollection formatConditions = _sheet.ConditionalFormattings[index]; | |
| // Get the cell area calling the custom GetCellAreaByName method | |
| CellArea area = GetCellAreaByName(cellAreaName); | |
| // Add the formatted conditions cell area. | |
| formatConditions.AddArea(area); | |
| // Call the custom FillCell method | |
| FillCell(cellAreaName, color, _sheet); | |
| // Return the formatted conditions | |
| return formatConditions; | |
| } | |
| // This method specifies the cell shading color for the conditional formattings cellarea range. | |
| private void FillCell(string cellAreaName, Color color, Worksheet _sheet) | |
| { | |
| CellArea area = GetCellAreaByName(cellAreaName); | |
| int k = 0; | |
| for (int i = area.StartColumn; i <= area.EndColumn; i++) | |
| { | |
| for (int j = area.StartRow; j <= area.EndRow; j++) | |
| { | |
| Cell c = _sheet.Cells[j, i]; | |
| if (!color.IsEmpty) | |
| { | |
| Style s = c.GetStyle(); | |
| s.ForegroundColor = color; | |
| s.Pattern = BackgroundType.Solid; | |
| c.SetStyle(s); | |
| } | |
| // Set some random values to the cells in the cellarea range | |
| int value = j + i + k; | |
| c.PutValue(value); | |
| k++; | |
| } | |
| } | |
| } | |
| // This method specifies the CellArea range (start row, start col, end row, end col etc.) | |
| // For the conditional formatting | |
| internal static CellArea GetCellAreaByName(string s) | |
| { | |
| CellArea area = new CellArea(); | |
| string[] strCellRange = s.Replace("$", "").Split(':'); | |
| int column; | |
| CellsHelper.CellNameToIndex(strCellRange[0], out area.StartRow, out column); | |
| area.StartColumn = column; | |
| if (strCellRange.Length == 1) | |
| { | |
| area.EndRow = area.StartRow; | |
| area.EndColumn = area.StartColumn; | |
| } | |
| else | |
| { | |
| CellsHelper.CellNameToIndex(strCellRange[1], out area.EndRow, out column); | |
| area.EndColumn = column; | |
| } | |
| return area; | |
| } |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.