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

时间:2016-08-11 22:39:08

标签: c# excel-2007 epplus epplus-4 system.drawing.color

我可以设置单元格或单元格区域的背景颜色,如下所示:

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

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

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

...无法使用两个错误的msgs进行编译:第一个,我无法将System.Drawing.Color分配给OfficeOpenXml.Style.ExcelColor,第二个属性是readonly无论如何。

只是为了咧嘴一笑并忍受它,我试着施展价值:

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

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

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

2 个答案:

答案 0 :(得分:31)

可以安全地假设Style.Fill.BackgroundColorStyle.Font.Color都属于ExcelColor类型,因此只需使用您用于设置背景颜色的SetColor()方法。

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

答案 1 :(得分:1)

此外,我想说的是,如果您想要确切的 excel 颜色,我发现的最好方法是将显示所需颜色的 excel 电子表格的屏幕截图复制到 ms Paint 中,以从那里获取其十六进制代码.之后,您只需通过这种方式添加如此获得的rgb代码即可。

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

第一个参数可以保持为0。 当前颜色是橙色口音 2 更亮 40。 淡鲑鱼接近那个,但不完全..