python-docx中为表格设置背景颜色

18 阅读1分钟

查找了很多资料都没有找到正确方法,在这里记录一下

使用 parse_xml() 函数来创建一个表示背景颜色的 XML 元素,并将其附加到表格单元格的属性中,从而实现了为表格单元格设置背景颜色为红色。

cell = table.cell(0, 0)
color = parse_xml(r'<w:shd {} w:fill="{color_value}"/>'.format(
    nsdecls('w'), color_value=RGBColor(255, 0, 0)))
cell._tc.get_or_add_tcPr().append(color)

同样的方法,对一段文本设置背景颜色。注意调用的方法名与上面不同

color = parse_xml(r'<w:shd {} w:fill="{color_value}"/>'.format(
    nsdecls('w'), color_value=RGBColor(255, 0, 0)))
run._r.get_or_add_rPr().append(color)