web-dev-qa-db-fra.com

Comment puis-je attribuer une couleur à une police dans EPPlus?

Je peux définir la couleur d'arrière-plan d'une cellule ou d'une plage de cellules comme suit:

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

Cependant, je n'ai pas pu définir la couleur de la police. J'ai essayé ceci:

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

... qui n'a pas pu être compilé avec deux messages d'erreur: le premier, que je ne peux pas attribuer System.Drawing.Color à OfficeOpenXml.Style.ExcelColor, et le second que la propriété est de toute façon en lecture seule.

Juste pour sourire et supporter son, j'ai essayé de lancer la valeur:

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

... et je reçois maintenant, " Impossible de convertir le type 'System.Drawing.Color' en 'OfficeOpenXml.Style.ExcelColor' "

Presque tout dans EPPlus est assez facile, certainement plus facile qu'Excel Interop, mais celui-ci m'a dérouté. Comment attribue-t-on une couleur à une police pour une plage dans EPPlus?

19
B. Clay Shannon

Il est prudent de supposer que Style.Fill.BackgroundColor Et Style.Font.Color Sont tous les deux de type ExcelColor, utilisez donc simplement la même méthode SetColor() que vous avez utilisée pour définir la couleur d'arrière-plan.

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