如何使用Docx.NET使单元格填充颜色?

时间:2018-11-18 13:23:44

标签: c# docx python-docx

我使用Xceed.Words.NET,我需要设置一些单元格填充颜色:

cell.FillColor = Color.Blue;
OR
cell.Shading = Color.Blue;

我发现该单元格实际上不是填充色,并且发现如果该单元格在Word中具有填充色,则可以重置它,我检查了xml:

//无法重置填充颜色

<w:shd w:val="clear" w:color="auto" w:fill="FFFFFF" w:themeFill="background1" /> 

//可以重置填充颜色,因为它在Word中具有填充颜色

<w:shd w:val="clear" w:color="auto" w:fill="12A400" /> 

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案: Alpha channel of the FillColor loss #279

public static void FillColor(Cell cell, Color color)
{
    var w = cell.Xml.Name.Namespace;
    var shd = cell.Xml.Element(w + "tcPr").Element(w + "shd");
    shd.Attribute(w + "themeFill").Remove();
    cell.FillColor = color;
}