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

问题描述

我正在使用ClosedXML,并且可以像下面的代码一样设置特定单元格的背景颜色。

$(document).ready(function(){
    $(document).on("click",".clsDetails",OpenModalPopUp);   
});

function OpenModalPopUp(){
   var itemName = $(this).data("item");
   alert(itemName);
   $('#dvData').html(itemName);
   $("#myModal").modal();
}

我的问题是:

是否存在将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);

您可以在手册中看到其他方式。