How to: Change Cell Font and Background Color
- 2 minutes to read
You can change the font and background colors of a cell.
To specify these attributes for an individual cell, modify the Formatting.Font and Formatting.Fill properties of the Cell object. These properties are inherited from the Formatting interface.
To change the color characteristics for a range of cells, call the CellRange.BeginUpdateFormatting method for this range, modify the Font and Fill properties of the returned Formatting object, and call the CellRange.EndUpdateFormatting method to finalize the modification.
Cell Font Color
The Formatting.Font property returns the SpreadsheetFont object. Set this object’s SpreadsheetFont.Color property to the required Color value to change cell font color.
Note
SpreadsheetControl does not display cell text with a semi-transparent color.
Cell Background
The Formatting.Fill property returns the Fill object. Use the following properties of this object to set cell background.
- Fill.BackgroundColor - sets the cell background color. It is also available via the CellRange.FillColor property of the cell or cell range object.
- Fill.PatternType - sets the type of cell background pattern. The available pattern types are accessed via the PatternType enumeration members.
- Fill.PatternColor - sets the shading color for a cell.
You can also fill a cell background with a color gradient of different types. See the How to: Apply Gradient Fill example.
To share font color and background settings with multiple cells in a single step, create or modify a style with the Formatting.Font and Formatting.Fill properties specified as required, and assign this style to CellRange.Style for the desired cells.
Tip
Set the BackgroundColor
property to Empty or Transparent to clear the cell background.
The following example specifies font and background colors for an individual cell and cell range:
using DevExpress.Spreadsheet;
using System.Drawing;
// ...
// Format an individual cell.
worksheet.Cells["A1"].Font.Color = Color.Red;
worksheet.Cells["A1"].FillColor = Color.Yellow;
// Format a cell range.
CellRange range = worksheet.Range["C3:H10"];
Formatting rangeFormatting = range.BeginUpdateFormatting();
rangeFormatting.Font.Color = Color.Blue;
rangeFormatting.Fill.BackgroundColor = Color.LightBlue;
rangeFormatting.Fill.PatternType = PatternType.LightHorizontal;
rangeFormatting.Fill.PatternColor = Color.Violet;
range.EndUpdateFormatting(rangeFormatting);
The image below shows the results.