
👉 项目官网:https://www.python-office.com/ 👈

大家好,这里是程序员晚枫,正在all in AI编程实战。
今天教你怎么用代码给 Word 添加表格、页眉页脚和目录。
1、在Word中添加表格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import office
content = '''项目报告
以下是项目组成员名单:
| 姓名 | 职位 | 部门 | |------|------|------| | 张三 | 项目经理 | 技术部 | | 李四 | 开发工程师 | 技术部 | | 王五 | 测试工程师 | 测试部 |
以上是本次汇报的内容。 '''
office.word.write(path='项目报告.docx', content=content)
|
2、添加页眉页脚
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import office
office.word.write(path='正式文档.docx', content='这是正文内容')
office.word.add_header( path='正式文档.docx', text='公司名称', align='center' )
office.word.add_footer( path='正式文档.docx', text='第 {page} 页 / 共 {numpages} 页', align='center' )
|
3、添加分页符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import office
content = '''第一章内容...
---
第二章内容...
---
第三章内容... '''
office.word.write(path='分章节文档.docx', content=content)
|
4、自动生成目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import office
content = '''# 目录
(注:目录需要在Word中更新域才能显示)
# 第一章 引言
这里是引言内容...
# 第二章 方法
这里是方法内容...
# 第三章 结果
这里是结果内容...
# 第四章 讨论
这里是讨论内容... '''
office.word.write(path='论文.docx', content=content)
|
💡 生成后用 Word 打开,右键点击目录选择"更新域"即可。
5、实战案例:批量生成带格式的合同
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import office
def create_formatted_contract(party_a, party_b, amount, date): """生成一份带表格的正式合同""" content = f'''合同
甲方(单位):{party_a} 乙方(单位):{party_b} 签订日期:{date}
合同金额:人民币 {amount} 元
以下是合同条款:
| 条款编号 | 条款内容 | 说明 | |----------|----------|------| | 第一条 | 合同标的 | 甲方向乙方购买服务 | | 第二条 | 合同金额 | 人民币 {amount} 元 | | 第三条 | 付款方式 | 合同签订后30日内付清 | | 第四条 | 违约责任 | 按合同法规定执行 |
甲方签字:___________ 乙方签字:___________
签订日期:{date} ''' filename = f'合同_{party_a}_{party_b}.docx' office.word.write(path=filename, content=content) office.word.add_header(path=filename, text='保密合同', align='center') return filename
contracts = [ ('阿里巴巴', '我们公司', '100000', '2024-01-15'), ('腾讯', '我们公司', '80000', '2024-02-20'), ('字节跳动', '我们公司', '120000', '2024-03-10') ]
for a, b, amount, date in contracts: filename = create_formatted_contract(a, b, amount, date) print(f'已生成: {filename}')
|
6、实战案例:生成带页码的员工手册
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import office
pages = [ ('封面', '员工手册\n\n程序员晚枫公司\n2024年版'), ('目录', '目录\n\n1. 公司简介\n2. 员工守则\n3. 福利制度'), ('第一章', '第一章 公司简介\n\n我们公司成立于2020年...'), ('第二章', '第二章 员工守则\n\n第一条 遵纪守法...\n第二条 爱岗敬业...'), ('第三章', '第三章 福利制度\n\n一、社会保险\n二、带薪年假'), ]
filename = '员工手册.docx' office.word.create(path=filename)
for title, content in pages: office.word.add(path=filename, title=title, content=content)
office.word.add_footer( path=filename, text='第 {page} 页', align='center' )
print('员工手册已生成!')
|
7、常见问题
Q:表格格式乱了?
A:用标准 Markdown 表格格式即可。
Q:页码显示不正常?
A:Word 会自动计算页码,首次打开可能需要刷新域。
Q:想加公司Logo?
A:用 office.word.add_header(path=path, image='logo.png') 可以加图片。
8、下讲预告
学会了Word高级格式,下一讲我们学 批量处理文件夹:批量操作大量文件。
敬请期待!
有问题欢迎加微信 python-office 进群交流~
程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。
🎓 AI 编程实战课程
想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!