26

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

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中的某个范围的字体分配颜色?

4

2 回答 2

50

假设它们都是 type 是安全的Style.Fill.BackgroundColor,所以只需使用与设置背景颜色相同的方法。Style.Font.ColorExcelColorSetColor()

rowRngprogramParamsRange.Style.Font.Color.SetColor(Color.Red);
于 2016-08-11T22:53:55.140 回答
1

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

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

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

于 2021-03-05T15:43:46.567 回答