如何为 EPPlus 中的字体指定颜色?

How can I assign a color to a font in EPPlus?

我可以像这样设置单元格或单元格区域的背景颜色:

rowRngprogramParamsRange.Style.Fill.PatternType = ExcelFillStyle.Solid;
rowRngprogramParamsRange.Style.Fill.BackgroundColor.SetColor(Color.DarkRed);

不过我无法设置字体颜色。我试过这个:

rowRngprogramParamsRange.Style.Font.Color = Color.Red;

...编译失败有两个错误消息:第一个,我不能将 System.Drawing.Color 分配给 OfficeOpenXml.Style.ExcelColor,第二个 属性 无论如何都是只读的。

为了忍气吞声,我尝试转换值:

rowRngprogramParamsRange.Style.Font.Color = (OfficeOpenXml.Style.ExcelColor)Color.Red;

...我现在得到,“无法将类型 'System.Drawing.Color' 转换为 'OfficeOpenXml.Style.ExcelColor'

EPPlus 中的大部分内容都非常简单,当然比 Excel Interop 更容易,但是这个让我感到困惑。在 EPPlus 中, 如何为字体指定颜色?

假设 Style.Fill.BackgroundColorStyle.Font.Color 都是 ExcelColor 类型是安全的,所以只需使用与设置背景颜色相同的 SetColor() 方法。

rowRngprogramParamsRange.Style.Font.Color.SetColor(Color.Red);

此外,我要说的是,如果您想要准确的 excel 颜色,我发现的最佳方法是将显示所需颜色的 excel 电子表格的屏幕截图复制到ms paint,从那里获取它的十六进制代码。之后,您只需添加这样获得的rgb代码即可。

rowRngprogramParamsRange.Style.Font.Color.SetColor(0, 244, 176, 132)

第一个参数可以保持为0。 目前的颜色是橙色 accent 2 lighter 40。 淡鲑鱼接近,但不完全..