Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > 设置单元格格式 >
如何:对单元格文本应用富格式

使用 RichTextString 对象的成员设置电子表格单元格中文本值的格式。富文本由一个或多个文本区域(或文本运行)组成,每个区域都有自己的一组字体特征。RichTextString.Runs 属性提供对文本运行集合的访问。RichTextRun 对象定义集合中的单个运行。

创建富文本

使用以下成员将丰富的格式应用于单元格的文本。

成员 描述
RichTextString.AddTextRun 将具有指定字体设置的新文本运行添加到富文本字符串中。
RichTextString.Characters 允许您设置单元格文本中特定字符的格式。
RichTextRange.SetFont/
RichTextRange.Font
允许您为单元格文本中的特定字符指定字体属性。
RichTextString.Text 获取或设置单元格中显示的全文。
CellRange.SetRichText 将格式丰富的文本指定给单元格。

示例一

下面的代码片段使用 RichTextString.AddTextRun 方法从单个文本运行中编写单元格的文本。

Vb.Net
'创建一个RichTextString实例。
Dim richText As New DevExpress.Spreadsheet.RichTextString()

'添加三个文本段。每个文本段都有自己的字体设置。
richText.AddTextRun("Rich ", New DevExpress.Spreadsheet.RichTextRunFont("Arial", 14, System.Drawing.Color.FromArgb(&Hc5, &H9f, &Hc9)))
richText.AddTextRun("text ", New DevExpress.Spreadsheet.RichTextRunFont("Tahoma", 14, System.Drawing.Color.FromArgb(&H2c, &H60, &H8e)))
richText.AddTextRun("formatting", New DevExpress.Spreadsheet.RichTextRunFont("Castellar", 14, System.Drawing.Color.FromArgb(&H2f, &H24, &H4f)))

'将富格式文本分配给单元格B2。
worksheet("B2").SetRichText(richText)

C#
// 创建一个RichTextString实例。
DevExpress.Spreadsheet.RichTextString richText = new DevExpress.Spreadsheet.RichTextString();

// 添加三个文本段。每个文本段都有自己的字体设置。
richText.AddTextRun("Rich ", new DevExpress.Spreadsheet.RichTextRunFont("Arial", 14, System.Drawing.Color.FromArgb(0xc5, 0x9F, 0xc9)));
richText.AddTextRun("text ", new DevExpress.Spreadsheet.RichTextRunFont("Tahoma", 14, System.Drawing.Color.FromArgb(0x2, 0x60, 0x8e)));
richText.AddTextRun("formatting", new DevExpress.Spreadsheet.RichTextRunFont("Castellar", 14, System.Drawing.Color.FromArgb(0x2F, 0x24, 0x4F)));

// 将富格式文本分配给单元格B2。
worksheet["B2"].SetRichText(richText);

示例二

下面的代码片段使用 RichTextString.Characters 方法设置单元格文本部分的格式。

Vb.Net
'创建一个RichTextString实例。
Dim richText As New DevExpress.Spreadsheet.RichTextString()

'指定单元格文本。
richText.Text = "Rich text formatting"
'更改第一个单词的字体特征。
richText.Characters(0, 4).SetFont(New DevExpress.Spreadsheet.RichTextRunFont("Calibri", 12, System.Drawing.Color.Red))

'将富格式文本分配给单元格B2。
worksheet("B2").SetRichText(richText)

C#
// 创建一个RichTextString实例。
DevExpress.Spreadsheet.RichTextString richText = new DevExpress.Spreadsheet.RichTextString();

// 指定单元格文本。
richText.Text = "Rich text formatting";
// 更改第一个单词的字体特征。
richText.Characters(0, 4).SetFont(new DevExpress.Spreadsheet.RichTextRunFont("Calibri", 12, System.Drawing.Color.Red));

// 将富格式文本分配给单元格B2。
worksheet["B2"].SetRichText(richText);

访问富文本

成员 描述
CellRange.HasRichText 检查单元格是否包含格式丰富的文本。
CellRange.GetRichText 从单元格中检索富文本。
RichTextString.Runs 允许您循环访问现有文本单元的集合。
RichTextRun.Text 获取当前运行的文本。
RichTextRun.Font 获取应用于当前运行的字体属性。

设置现有文本中字符的格式

下面的示例演示如何将富格式应用于已包含文本值的单元格。

Vb.Net
'将文本分配给单元格B2。
worksheet("B2").Value = "Rich text formatting"
'获取包含单元格文本的RichTextString对象。
Dim richText As DevExpress.Spreadsheet.RichTextString = worksheet("B2").GetRichText()
'将第一个单词设置为粗体。
richText.Characters(0, 4).Font.Bold = True

'将富格式文本分配给单元格B2。
worksheet("B2").SetRichText(richText)

C#
// 将文本分配给单元格B2。
worksheet["B2"].Value = "Rich text formatting";
// 获取包含单元格文本的RichTextString对象。
DevExpress.Spreadsheet.RichTextString richText = worksheet["B2"].GetRichText();
// 将第一个单词设置为粗体。
richText.Characters(0, 4).Font.Bold = true;

// 将富格式文本分配给单元格B2。
worksheet["B2"].SetRichText(richText);

获取整个富文本字符串及其长度

成员 描述
RichTextString.Text 获取或设置单元格中包含的全文。您还可以使用单元格的CellRange。价值属性以纯文本形式获取生成的文本字符串。
RichTextString.Length
返回格式文本长度。