pythondocx第一行表格背景灰色_使用pythondocx的单词表单元格背景色

博主分享了一段Python代码,试图使用docx库将Word文档中的单元格背景色从红色和黑色改为白色,但遇到问题:只修改了最后一个单元格。寻求帮助以解决如何同时改变两个单元格的颜色,可能涉及XML操作细节。
摘要由CSDN通过智能技术生成

我有一个简单的word文档,其中一个表包含一行两列(换句话说,两个单元格)。第一个单元格的背景色为红色,另一个单元格为黑色。我想使用pythondocx将两者都改为白色。在

我试过几种方法,但下面是最有希望的方法。它修改底层xml。在import docx

from docx.oxml.ns import nsdecls

from docx.oxml import parse_xml

# Set a cell background (shading) color to RGB D9D9D9.

shading_elm = parse_xml(r''.format(nsdecls('w')))

doc = docx.Document('assets/tabletest.docx')

table = doc.tables[0]

cell = table.cell(0,0)

testchild = cell._tc.getchildren()[0]

testchild.append(shading_elm)

doc.save('assets/tabletest2.docx')

上面的代码将第一个单元格修改为白色,而将第二个单元格保留为黑色。我试图通过在doc.save之前添加以下代码来修改第二个单元格:

^{pr2}$

问题是现在,第一个单元格仍然是红色的,第二个单元格现在是白色的。它似乎只修改了最后一个单元。在

我确实遗漏了一些东西,但我不是xml专家。有人有主意吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值