我可以这样设置单元格或单元格区域的背景颜色:
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' to 'OfficeOpenXml.Style.ExcelColor'"
EPPlus中的大部分内容都非常简单,当然比Excel Interop更简单,但这个让我感到困惑。如何一个分配颜色的字体范围在EPPlus?
可以安全地假设Style.Fill.BackgroundColor
和Style.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。当前的颜色是橙色调。浅鲑鱼接近这一点,但不完全…