使用OpenXml更改Excel工作表中的特定单元格背景颜色

时间:2013-05-06 10:53:14

标签: c# openxml-sdk

我要求更改excel表格行中单元格的背景颜色。

例如:如果A1单元格值小于100,我需要在红色背景中显示它。

我搜索了很多,我找到了一些代码来创建样式表

http://blogs.msdn.com/b/chrisquon/archive/2009/11/30/stylizing-your-excel-worksheets-with-open-xml-2-0.aspx

该代码正在使用StyleIndex属性。而且非常复杂。 有没有其他解决方案...... ???????

1 个答案:

答案 0 :(得分:3)

对于以OpenXML格式操作电子表格,原始SDK周围有几个包装器,使事情变得更加简单,例如。

使用ClosedXML,您可以使用条件格式来实现所需的结果(请参阅documentation):

using (var wb = new XLWorkbook())
{
    using (var ws = wb.AddWorksheet("Test"))
    {
        ws.Cell("A1").Value = 42;
        ws.Cell("A1").AddConditionalFormat().WhenLessThan(100)
            .Fill.SetBackgroundColor(XLColor.Red);
    }
    wb.SaveAs(@"C:\Dev\Test.xlsx");
}