前言:开会用的桌牌,制作起来非常麻烦,要根据参会人员的不同,制作不同的桌牌。如果参会人员非常多,制作就变的更麻烦。通过python中的xlrd和docxtpl模块可以自动的快速生成桌牌,省时省力。
本例也是第一次实现自动化办公方面的例子。
先看效果:
1、word模板
2、人员名单
3、自动生成的文件
原码文件:
# pip install xlrd 操作excel模块的工具
import xlrd
# 安装word第三方模块 pip install docxtpl 操作word模块的工具
import docxtpl
# 打开excel
from docxtpl import DocxTemplate
excel = xlrd.open_workbook("08-桌牌/08-桌牌.xlsx")
# 选择工作薄-选择第一个
sheet = excel.sheets()[0]
# 获取工作薄有多少数据
# print(sheet.nrows)
# print(sheet.cell_value(1, 2))
names = []
teams = []
for i in range(sheet.nrows-1):
names.append(sheet.cell_value(i+1, 1))
teams.append(sheet.cell_value(i+1, 2))
# print(names, teams)
for name,team in zip(names, teams):
# print(name, '---', team)
#打开模板
doc = DocxTemplate('08-桌牌/08-桌牌.docx')
#设置内容对应关系
context = {'name':name, 'team':team}
#填充内容
doc.render(context)
#保存新的文件
doc.save(f'08-桌牌/{name}.docx')
#提示信息
print(f"{name}的word-生成完毕")