How to: Apply Rich Formatting to Cell Text
- 4 minutes to read
This topic demonstrates how to apply rich formatting to text values within a cell.
Note
Currently, the SpreadsheetControl does not display rich format settings applied to a cell. Rich formatting is also lost when you print or export a workbook to PDF. However, rich text is saved to a file, so you can use Microsoft® Excel® or another spreadsheet application to view and print a document.
A RichTextString class defines rich formatted text within a cell. Rich text consists of one or more text regions (or text runs), each with its own set of font characteristics. The RichTextString.Runs property provides access to a collection of text runs. A RichTextRun object represents an individual run within a collection.
Create Rich Text
Use the following members to apply rich formatting to the cell’s text.
Member | Description |
---|---|
Adds a new text run with the specified font settings to the rich text string. | |
Allows you to format specific characters within the cell’s text. | |
Allows you to specify font attributes for specific characters within the cell’s text. | |
Gets or sets the full text displayed in a cell. | |
Assigns rich formatted text to a cell. |
Example I
The following code snippet uses the RichTextString.AddTextRun method to compose the cell’s text from individual text runs.
// Create a RichTextString instance.
RichTextString richText = new RichTextString();
// Add three text runs. Each run has its own font settings.
richText.AddTextRun("Rich ", new RichTextRunFont("Arial", 14, System.Drawing.Color.FromArgb(0xc5, 0x9f, 0xc9)));
richText.AddTextRun("text ", new RichTextRunFont("Tahoma", 14, System.Drawing.Color.FromArgb(0x2c, 0x60, 0x8e)));
richText.AddTextRun("formatting", new RichTextRunFont("Castellar", 14, System.Drawing.Color.FromArgb(0x2f, 0x24, 0x4f)));
// Assign rich formatted text to the cell B2.
worksheet["B2"].SetRichText(richText);
Example II
The code snippet below uses the RichTextString.Characters method to format a portion of the cell’s text.
// Create a RichTextString instance.
RichTextString richText = new RichTextString();
// Specify the cell text.
richText.Text = "Rich text formatting";
// Change font characteristics of the first word.
richText.Characters(0, 4).SetFont(new RichTextRunFont("Calibri", 12, System.Drawing.Color.Red));
// Assign rich formatted text to the cell B2.
worksheet["B2"].SetRichText(richText);
Access Rich Text
Checks whether a cell contains rich formatted text. | |
Retrieves rich text from a cell. | |
Allows you to iterate through a collection of the existing text runs. | |
Gets the current run’s text. | |
Gets font attributes applied to the current run. |
Format Characters within an Existing Text
The following example shows how to apply rich formatting to a cell that already contains a text value.
// Set a cell value.
worksheet["B2"].Value = "Rich text formatting";
// Obtain the RichTextString object containing the cell's text.
RichTextString richText = worksheet["B2"].GetRichText();
// Format the first word as bold.
richText.Characters(0, 4).Font.Bold = true;
// Assign rich formatted text to the cell B2.
worksheet["B2"].SetRichText(richText);
Obtain the Entire Rich Text String and Its Length
Gets or sets the full text contained in a cell. You can also use the cell’s Range.Value property to obtain the resulting text string as plain text. | |
Returns the rich text length. |