Skip to content

Conditional Formatting ‐ Colors

Mats Alm edited this page Oct 24, 2023 · 11 revisions

Conditionalformattings can apply other colors than just .Color. You can also apply theme, index or auto color.

Here's an example of applying theme color using .Theme instead on a AboveAverageRule:

using (var pck = new ExcelPackage())
{
   var sheet = pck.Workbook.Worksheets.Add("NewWorksheet");

   var cf = sheet.ConditionalFormatting.AddAboveAverage("A1:B5");

   cf.Style.Fill.BackgroundColor.Theme = eThemeSchemeColor.Accent4;
}

The same logic applies to most other conditional formattings. With the exception of Databars and Colorscales.

$$\color{#ff4545}\textsf{\Largeⓘ\kern{0.2cm}\normalsize Below only available from Epplus 7.0 onwards}$$

As of Epplus 7.0 databars and color scales have built in support for theme, index or auto color options.

Here are some examples of applying theme colors on

A databar:

var cfDatabar = sheet.ConditionalFormatting.AddDatabar("A1:B5", Color.Red);

cfDatabar.FillColor.Theme = eThemeSchemeColor.Accent1;

A ThreeColorScale:

var threeColor = sheet.ConditionalFormatting.AddThreeColorScale("A1:B5");

threeColor.LowValue.ColorSettings.Theme = eThemeSchemeColor.Background1;
threeColor.MiddleValue.ColorSettings.Theme = eThemeSchemeColor.Accent2;
threeColor.HighValue.ColorSettings.Theme = eThemeSchemeColor.Accent3;

Note that there are some differences in how to set the colors due to ensuring backwards compatability. And because Databar has multiple options on one whole whereas colorScale has different needs as these two are more complex and diverse types.

EPPlus wiki

Versions

Worksheet & Ranges

Styling

Import/Export data

Formulas and filters

Charts & Drawing objects

Tables & Pivot Tables

VBA & Protection

Clone this wiki locally