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

我正在使用Microsoft.Office.Interop.Excel库。

我有一个值“绿色红色”单元格。 我想要的很简单。 我想插入“绿色”文本为绿色,“红色”为红色,如下所示:

在这里输入图像说明

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

 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"; } 

怎么做?

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

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

尝试:

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

其中start_poslen是应用颜色的string的一部分。

您的使用案例:

  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); }