如何更改MS Excel单元格中的文本颜色?

Ste*_*pUp 6 c# excel

我正在使用Microsoft.Office.Interop.Excel图书馆.

我有一个值为"Green Red"的单元格.我想要的很简单.我想将"绿色"文本插入为绿色,将"红色"插入为红色,如下所示:

在此输入图像描述

我正在使用此代码在单元格中插入数据:

Excel.Application excelApp = new Excel.Application();
excelApp.Workbooks.Add();
// single worksheet
Excel._Worksheet workSheet = excelApp.ActiveSheet;

for (int startIndex = 0; startIndex < 10; startIndex++)
{
    workSheet.Cells[1, (startIndex + 1)] ="Green" + " Red";
}
Run Code Online (Sandbox Code Playgroud)

怎么做?

尝试过这种方法,但我不知道是什么[RangeObject]:

[RangeObject].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);

Ada*_*ohl 14

尝试:

workSheet.Cells[1, (i + 1)].Characters[start_pos, len].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
Run Code Online (Sandbox Code Playgroud)

where start_poslen是字符串中应用颜色的部分.

您的用例示例:

    Application excelApp = new Application();
    excelApp.Workbooks.Add();
    // single worksheet
    _Worksheet workSheet = excelApp.ActiveSheet;

    string Green = "Green";
    string Red = "Red";
    for (int start = 0; start < 10; start++)
    {
        Range ColorMeMine = workSheet.Cells[1, (start + 1)];
        ColorMeMine.Value = string.Format("{0} {1}", Green, Red);
        ColorMeMine.Characters[0, Green.Length].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green);
        ColorMeMine.Characters[Green.Length + 1, Green.Length + 1 + Red.Length].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
    }
Run Code Online (Sandbox Code Playgroud)

  • 范围“代表一个单元格、一行、一列、一组包含一个或多个连续单元格块的单元格,或一个 3-D 范围”。您可以在 Microsoft.Office.Interop.Excel 命名空间中找到它。 (3认同)