Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / productivity / Office

How to Set the Background and Foreground (Font Text) Colors on an Excel Range

0.00/5 (No votes)
14 Nov 2015CPOL 9.7K  
Set the cell and font colors to an Excel Range in C# in three lines of code

Add Some Pizazz, or at Least Differentiation, to Various Sections of your Spreadsheet

To spiffify your Excel spreadsheet, you will sometimes want to change the background color of a range of cells, and sometimes the font (text) color, too, from the default black (especially when the background color is dark, you might want to change the font color to white or yellow or something else that will be more legible than black). Here's how.

Note: This assumes that you will declare constants for row and column indexes named COLUMN_HEADING_ROW, FIRST_COL, and LAST_COL, and that "_xlSheet" is the name of the ExcelSheet (using Microsoft.Interop.Excel).

First, define the range:

C#
var columnHeadingsRange = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, FIRST_COL], 
	_xlSheet.Cells[COLUMN_HEADING_ROW, LAST_COL]];

Then, set the background color of that range:

C#
columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue;

Finally, set the font color:

C#
columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite;

And here's the code combined:

C#
var columnHeadingsRange = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, FIRST_COL], 
	_xlSheet.Cells[COLUMN_HEADING_ROW, LAST_COL]];
columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue;
columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite;

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)