-- 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# ################################