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

如何在python-docx生成的新文档中复用已有docx文件的样式?

解决python-docx复用现有docx样式的问题

不用你说的那种逐个复制样式的方式,这么做不仅麻烦,还容易出问题——python-docx里的样式对象是和所属文档绑定的,直接赋值会导致样式不生效甚至抛出异常。

正确的做法是直接基于模板文档创建新文档,这样模板里的所有样式会自动被继承,你直接调用就行:

# 直接以模板文件为基础创建新文档,自带所有模板样式
doc = Document("MyTemplate.docx")

# 直接使用模板里的样式添加内容
doc.add_heading("自定义标题", level=1)  # 自动应用模板中的Heading 1样式
doc.add_paragraph("这是一段使用模板正文样式的文本", style="Body Text")

# 保存新文档
doc.save("新文档.docx")

如果只需要模板的样式,但不想保留模板里的原有内容,可以打开模板后清空所有内容再操作:

doc = Document("MyTemplate.docx")

# 清空模板里的所有段落和表格
for element in list(doc.element.body):
    doc.element.body.remove(element)

# 现在可以在空文档里用模板样式添加内容了
doc.add_heading("全新文档的标题", level=1)
doc.add_paragraph("全新的正文内容", style="Body Text")

doc.save("空白模板样式文档.docx")

内容的提问来源于stack exchange,提问作者Not a machine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:24:53