我将 python 2.7 与 docx 一起使用,我想根据条件更改表格中单元格的背景和文本颜色。
我找不到有关单单元格格式的任何有用资源
有什么建议么?
编辑 1
我的代码
style_footer = "DarkList"
style_red = "ColorfulList"
style_yellow = "LightShading"
style_green = "MediumShading2-Accent6"
style_transperent = "TableNormal"
for a,rec in enumerate(data):
#V headinh se piše prvo polje iz table heada
document.add_heading(rec['tableHead'][0][0], level=1)
image_path = imageFolder + "\\" + slike[a]
document.add_picture(image_path, height=Inches(3.5))
#y += 28
#worksheet.insert_image( y, 1,imageFolder + "/" + slike[a])
for i, head in enumerate(rec['tableHead']):
table = document.add_table(rows=1, cols = len(head))
hdr_cells = table.rows[0].cells
for a in range(0,len(head)):
hdr_cells[a].text = head[a]
for a,body in enumerate(rec['tableData']):
row_cells = table.add_row().cells
for a in range(0,len(body)):
if body[a]['style'] == 'footer':
stil = style_footer
elif body[a]['style'] == 'red':
stil = style_red
elif body[a]['style'] == 'yellow':
stil = style_yellow
elif body[a]['style'] == 'green':
stil = style_green
else:
stil = style_transperent
row_cells[a].add_paragraph(body[a]['value'], stil)
document.save(wordDoc)
所有的细胞仍然是一样的。
原文由 Yebach 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想用颜色填充表格中的特定单元格,你可以使用下面的代码。例如,假设您需要用 RGB 颜色 1F5C8B 填充表格第一行的第一个单元格:
现在,如果你还想用相同的颜色填充第一行中的第二个单元格,你应该创建一个新元素,否则如果你使用与上面相同的元素,填充将继续并从第一个单元格中消失……
…等等其他细胞。
资料来源: https ://groups.google.com/forum/#!topic/python-docx/-c3OrRHA3qo