gpt4 book ai didi

python docx设置表格单元格背景颜色

转载 作者:行者123 更新时间:2023-12-01 09:22:02 72 4
gpt4 key购买 nike

要为表格中的单元格设置背景颜色,我使用以下代码:

doc.add_paragraph('')
t1 = doc.add_table(rows=7, cols=2)
t1.style = 'TableGrid'
for row in range(7):
cell = t1.cell(row, 0)
cell._tc.get_or_add_tcPr().append(shading_elm_green)

唯一的问题是结果如下:

enter image description here

但我希望所有单元格都有背景颜色。为什么这没有设置所有单元格。另外,当我创建许多表格时,所有单元格都是清晰的,并且仅设置了最后一个表格的最后一个单元格。

我做错了什么?我已经寻找解决方案很多天了!

最佳答案

您需要为每个单元格创建一个新的 shading_elm_green 元素。每次在当前代码中分配它时,您只是将其从一个单元格移动到下一个单元格。这就是为什么它最终会结束。

lxml API 在这方面有点违反直觉(除非您自己思考如何做到这一点:)。当您将现有元素指定为另一个元素的子元素时(例如,使用 .append()),lxml 将元素移动为该其他元素的子元素。如果将其附加到不同的元素,则会将其移动到那里。分配的元素不会自动“克隆”或类似的东西。它只能生活在一个地方,而那个地方就是你最后“放置”它的地方。

您不会显示元素创建代码,但无论它是什么,将其插入到倒数第二行,事情应该按照您期望的方式工作。

关于python docx设置表格单元格背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50741377/

72 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com