Excel Themes and Colors

Excel Themes and Colors

Themes provide a unified look with named styles, graphical effects and other objects used in a workbook. For example, the Accent1 style, for example, looks different in the Office and the Apex themes. Often, you apply a document theme and then amend it to how you want it.

Aspose.Cells provides features for customizing themes and colors.

Get and Set Theme Colors

Below are a few methods and properties that implement theme colors.

The following example shows how to get and set theme colors.

The following example uses a template XLSX file, gets the colors for different theme color types, changes the colors and saves the Microsoft Excel file.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate Workbook object.
// Open an exiting excel file.
Workbook workbook = new Workbook(dataDir + "book1.xlsx");
// Get the Background1 theme color.
Color c = workbook.GetThemeColor(ThemeColorType.Background1);
// Print the color.
Console.WriteLine("theme color Background1: " + c);
// Get the Accent2 theme color.
c = workbook.GetThemeColor(ThemeColorType.Accent2);
// Print the color.
Console.WriteLine("theme color Accent2: " + c);
// Change the Background1 theme color.
workbook.SetThemeColor(ThemeColorType.Background1, Color.Red);
// Get the updated Background1 theme color.
c = workbook.GetThemeColor(ThemeColorType.Background1);
// Print the updated color for confirmation.
Console.WriteLine("theme color Background1 changed to: " + c);
// Change the Accent2 theme color.
workbook.SetThemeColor(ThemeColorType.Accent2, Color.Blue);
// Get the updated Accent2 theme color.
c = workbook.GetThemeColor(ThemeColorType.Accent2);
// Print the updated color for confirmation.
Console.WriteLine("theme color Accent2 changed to: " + c);
// Save the updated file.
workbook.Save(dataDir + "output.out.xlsx");

Customize Themes

The following example shows how to apply custom themes with your desired colors. We use a sample template file manually created in Microsoft Excel 2007.

The following example loads a template XLSX file, defines colors for different theme color types, applies the custom colors and saves the excel file.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Define Color array (of 12 colors) for Theme.
Color[] carr = new Color[12];
carr[0] = Color.AntiqueWhite; // Background1
carr[1] = Color.Brown; // Text1
carr[2] = Color.AliceBlue; // Background2
carr[3] = Color.Yellow; // Text2
carr[4] = Color.YellowGreen; // Accent1
carr[5] = Color.Red; // Accent2
carr[6] = Color.Pink; // Accent3
carr[7] = Color.Purple; // Accent4
carr[8] = Color.PaleGreen; // Accent5
carr[9] = Color.Orange; // Accent6
carr[10] = Color.Green; // Hyperlink
carr[11] = Color.Gray; // Followed Hyperlink
// Instantiate a Workbook.
// Open the template file.
Workbook workbook = new Workbook(dataDir + "book1.xlsx");
// Set the custom theme with specified colors.
workbook.CustomTheme("CustomeTheme1", carr);
// Save as the excel file.
workbook.Save(dataDir + "output.out.xlsx");

Use Theme Colors

The following example applies a cell’s foreground and font colors based on the default theme (of the workbook) color types. It also saves the excel file to disk.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiate a Workbook.
Workbook workbook = new Workbook();
// Get cells collection in the first (default) worksheet.
Cells cells = workbook.Worksheets[0].Cells;
// Get the D3 cell.
Aspose.Cells.Cell c = cells["D3"];
// Get the style of the cell.
Style s = c.GetStyle();
// Set foreground color for the cell from the default theme Accent2 color.
s.ForegroundThemeColor = new ThemeColor(ThemeColorType.Accent2, 0.5);
// Set the pattern type.
s.Pattern = BackgroundType.Solid;
// Get the font for the style.
Aspose.Cells.Font f = s.Font;
// Set the theme color.
f.ThemeColor = new ThemeColor(ThemeColorType.Accent4, 0.1);
// Apply style.
c.SetStyle(s);
// Put a value.
c.PutValue("Testing1");
// Save the excel file.
workbook.Save(dataDir + "output.out.xlsx");

Advance topics