Skip to content

Conditional Formatting ‐ Colors

OssianEPPlus edited this page Sep 5, 2024 · 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{ⓘ\kern{0.2cm}{\Large 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;
cfDatabar.BorderColor.SetColor(eThemeSchemeColor.Accent2);

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 Databars has multiple options on one whole whereas colorScale has different needs as these two are more complex and diverse types.


Back to Conditional Formatting

EPPlus wiki

Versions

Worksheet & Ranges

Styling

Import/Export data

Formulas and filters

Charts & Drawing objects

Tables & Pivot Tables

VBA & Protection

Clone this wiki locally