如何在 C# 中将 System.Drawing.Color 转换为 ClosedXML.Excel.XLColor

How to convert System.Drawing.Color to ClosedXML.Excel.XLColor in C#

我正在使用 ClosedXML 并且特定单元格的背景颜色可以设置为如下代码。

using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.Worksheets.Add("Sample Sheet");
    worksheet.Cell("A1").Value = "Hello World!";
    worksheet.Cell("A1").Style.Fill.BackgroundColor = ClosedXML.Excel.XLColor.AliceBlue;
    //  Fill background color as AliceBlue.
    workbook.SaveAs("HelloWorld.xlsx");
}

我的问题是:

是否有合适的方法将System.Drawing.Color转换为ClosedXML.Excel.XLColor?

欢迎大家提出意见或建议。

我从未使用过 ClosedXml,但 the fine manual 展示了创建 XLColor 的多种方法。我最初写这个答案时选择了第一个:

var c = Color.Red;
var xlc = XLColor.FromArgb(c.A, c.R, c,G, c.B);

@FrancoisBotha 很有帮助地指出,有一个直接采用颜色的重载:

var c = Color.Red;
var xlc = XLColor.FromColor(c);

其他方法可以看说明书..