C#/VB.NET: Highlight Top and Bottom Ranked Values in Excel

Searching for high or low values in large amounts of data can be cumbersome and error-prone. Fortunately, in Excel, you can apply conditional formatting to quickly highlight a specified number of top or bottom ranked values in a selected cell range. In this article, you will learn how to programmatically highlight top and bottom values in Excel using Spire.XLS for .NET.

Install Spire.XLS for .NET

To begin with, you need to add the DLL files included in the Spire.XLS for .NET package as references in your .NET project. The DLL files can be either downloaded from this link or installed via NuGet.

PM> Install-Package Spire.XLS

Highlight Top and Bottom Values in Excel in C# and VB.NET

Spire.XLS for .NET provides the XlsConditionalFormats.AddTopBottomCondition(TopBottomType topBottomType, int rank) method to specify the top N or bottom N ranked values, and then you can highlight these values with a background color. The following are the detailed steps.

  • Create a Workbook instance.
  • Load a sample Excel document using Workbook.LoadFromFile() method.
  • Get a specified worksheet by its index using Workbook.Worksheets[sheetIndex] property.
  • Add a conditional formatting to the worksheet using Worksheet.ConditionalFormats.Add() method and return an object of XlsConditionalFormats class.
  • Set the cell range where the conditional formatting will be applied using XlsConditionalFormats.AddRange() method.
  • Add a top condition to specify the highest or top N ranked values using XlsConditionalFormats.AddTopBottomCondition(TopBottomType topBottomType, int rank) method. Then highlight the cells that meet the condition with a background color using IConditionalFormat.BackColor property.
  • Add a bottom condition to specify the lowest or bottom N ranked values and highlight the cells that meet the condition with a background color.
  • Save the result document using Workbook.SaveToFile() method.
  • C#
  • VB.NET
using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.Spreadsheet.Collections;
using System.Drawing;

namespace HighlightValues
{
    class Program
    {
        static void Main(string[] args)
        {
            {

                //Create a Workbook instance
                Workbook workbook = new Workbook();

                //Load a sample Excel document
                workbook.LoadFromFile("sample.xlsx");

                //Get the first worksheet
                Worksheet sheet = workbook.Worksheets[0];

                //Add a conditional format to the worksheet
                XlsConditionalFormats format = sheet.ConditionalFormats.Add();

                //Set the range where the conditional format will be applied
                format.AddRange(sheet.Range["B2:F7"]);

                //Apply conditional formatting to highlight the highest values
                IConditionalFormat condition1 = format.AddTopBottomCondition(TopBottomType.Top, 1);
                condition1.BackColor = Color.Red;

                //Apply conditional formatting to highlight the bottom two values
                IConditionalFormat condition2 = format.AddTopBottomCondition(TopBottomType.Bottom, 2);
                condition2.BackColor = Color.ForestGreen;

                //Save the result document
                workbook.SaveToFile("TopBottomValues.xlsx", ExcelVersion.Version2013);

            }
        }
    }
}

C#/VB.NET: Highlight Top and Bottom Ranked Values in Excel

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.