python-docx设置表格样式触发style_id弃用警告如何解决
python-docx 表格样式赋值弃用警告修复方案
问题成因
代码中table.style = 'LightShading-Accent6'传入的LightShading-Accent6是样式的内部ID(style_id),python-docx新版本已废弃通过style_id查找样式的逻辑,要求传入样式的正式显示名称作为键,因此触发警告。
直接修复方案
将样式赋值语句替换为以下写法即可消除警告,样式渲染效果和原写法完全一致:
table.style = 'Light Shading Accent 6'
修复后的完整示例代码:
table = document.add_table(rows=1, cols=3) table.style = 'Light Shading Accent 6' for i in range(3): table.rows[0].cells[i].text = table_header[i]
样式名核对方式
如果使用多语言版本Office,或运行后提示样式不存在,可以运行以下代码枚举当前文档所有可用的表格样式正式名称,找到目标样式的准确命名后直接赋值即可:
from docx.enum.style import WD_STYLE_TYPE # 打印所有可用表格样式的标准名称 for style in document.styles: if style.type == WD_STYLE_TYPE.TABLE: print(style.name)
内容的提问来源于stack exchange,提问作者Scott Campbell
相关产品推荐
相关产品推荐

