admin 管理员组

文章数量: 1184232

python自动制作word

-- coding: utf-8 --

"""

Created on Sat Jul 11 23:06:30 2020

@author: Administrator

"""

########### 实例5:用Python批量生成word版邀请函 ###################

1.从Excel文件获取受邀人单位和名字

from openpyxl import load_workbook #>pip3 install openpyxl

wb=load_workbook('data/name_list.xlsx')

ws=wb['name']

names=[]

for row in range(2,ws.max_row+1): #因为工作表第一行是标题,所以我们从第2行开始,最大一行+1结束range(2,ws.max_row+1)。

company=ws["A"+str(row)].value

name=ws["B"+str(row)].value

names.append(" {} {} ".format(company,name)) #我们在公司名和姓名之间及前后都加入了一个空格,这样在最终的邀请函上看起来就是这样的:“尊敬的 供应商1 王波 先生/女士:”。

names

2.批量填字,存为不同的word文件

import docx #导入处理word的库,无耻地直接使用别人造好的轮子

doc=docx.Document('data/邀请函.docx') #括号内填写邀请函模板的路径及文件名。

for name in names:

doc.paragraphs[1].runs[2].text=name

#doc.paragraphs[1].runs[2].text=name,

#相当于直接用name的值“ 供应商1 王波 ”替换掉****。

#其中的run指的是每一段中的不同的格式,比如一段中有常规的,

#有加粗的,有斜体的,有不同颜色的字,那么就有好几个run。

doc.save('data/邀请函_{}.docx'.format(name))

print("succed")

####################### end# ################################

本文标签: python自动制作word