Python python-docx生成Word文档教程
用Python的python-docx库从零创建Word文档,添加段落、标题、加粗斜体等格式,生成可直接打开的.docx文件,适合办公自动化批量出文档场景。
场景痛点
工作中经常需要从零写一份Word文档,比如通知、报告、方案初稿。手动打开Word、调字体、排版、复制粘贴,一份文档要折腾十几分钟。如果还要按模板批量出几十份,重复劳动量更大。用python-docx可以用代码直接生成.docx文件,段落、标题、字体一步到位,生成速度秒级。
用到的库
pip install python-docx
完整代码
# 导入python-docx库
from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
def create_word_document():
# 创建一个空白文档对象
doc = Document()
# 添加一级标题
doc.add_heading('Python自动生成Word文档示例', level=1)
# 添加普通段落
p1 = doc.add_paragraph('这是一段用Python自动生成的正文内容。')
p1.add_run('这段文字后面追加了一句话。')
# 添加带格式的段落:加粗、字号、颜色
p2 = doc.add_paragraph()
run = p2.add_run('重点内容:本段落加粗,字号14,红色。')
run.bold = True
run.font.size = Pt(14)
run.font.color.rgb = RGBColor(255, 0, 0)
# 添加二级标题
doc.add_heading('二级标题:使用说明', level=2)
# 添加项目符号列表
doc.add_paragraph('第一步:安装python-docx库', style='List Bullet')
doc.add_paragraph('第二步:编写生成代码', style='List Bullet')
doc.add_paragraph('第三步:运行脚本输出docx文件', style='List Bullet')
# 添加居中对齐的段落
p3 = doc.add_paragraph('这段文字居中对齐。')
p3.alignment = WD_ALIGN_PARAGRAPH.CENTER
# 保存文档
doc.save('demo.docx')
print('文档已生成:demo.docx')
if __name__ == '__main__':
create_word_document()
代码讲解
Document()创建一个空白Word文档对象,相当于打开了一个新建的.docx。add_heading(text, level=1)添加标题,level取值1到9,对应Word里的标题1到标题9。add_paragraph(text)添加一个普通段落,返回Paragraph对象,可以继续用add_run()追加文字片段。run.bold、run.font.size、run.font.color.rgb分别控制加粗、字号(Pt单位)、字体颜色(RGBColor)。style='List Bullet'让段落变成项目符号列表样式。doc.save('demo.docx')把文档保存到当前目录,文件名可以写绝对路径。
运行结果
运行脚本后在当前目录生成demo.docx文件,用Word或WPS打开可以看到一级标题、正文、红色加粗重点、二级标题、项目符号列表、居中段落,格式完整可编辑。
注意事项
- python-docx只支持
.docx格式,不支持老版本.doc,老文件需要先用Word另存为docx。 - 中文字体需要单独设置
run.font.name和rPr的eastAsia属性才能生效,英文设置对中文无效。 - 保存路径如果包含中文,Windows下建议用绝对路径并确保目录存在。

更新时间:2026-09-15 08:59:38