You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python-docx单独修改Word表格指定单元格的字体颜色?

问题原因与解决方法

你遇到的问题核心在于:Normal是Word的全局基础样式,表格内的单元格文本默认都继承该样式。当你反复修改document.styles['Normal'].font.color时,所有使用这个样式的文本都会同步更新,导致最后一次设置的红色覆盖了之前的蓝色,所以所有文本都变成红色。

修正后的代码

直接针对单个单元格的段落设置字体颜色,而非修改全局样式:

import docx
from docx.shared import RGBColor

# 创建文档与表格
document = docx.Document()
table = document.add_table(rows=2, cols=2)
table.style = 'Table Grid'

# 设置左上单元格为蓝色
cell_blue = document.tables[0].rows[0].cells[0]
cell_blue.text = "Blue"
# 定位单元格内的段落,单独设置字体颜色
cell_blue.paragraphs[0].font.color.rgb = RGBColor(50, 0, 255)

# 设置右下单元格为红色
cell_red = document.tables[0].rows[1].cells[1]
cell_red.text = "Red"
cell_red.paragraphs[0].font.color.rgb = RGBColor(255, 0, 0)

document.save('result.docx')

执行效果

运行后,左上单元格的“Blue”显示蓝色,右下单元格的“Red”显示红色,其余单元格保持空白,完全符合你期望的效果。

内容的提问来源于stack exchange,提问作者wasicat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:40:19