,原文地址、视频演示效果和代码获取请戳下方超链接!!!!在视频演示效果的序言中,一位小姐姐在后台问我。最近,公司里发生了一件事情。有数百人的表格和邀请模板文档。我最近不小心把它刷到了我身上。上图!虽然我可能听不懂你在说什么,但如果我猜对了,你不会给我复制粘贴的内容。应该是这样的:把右边的***内容替换成左边的单位+姓名或者姓名。Untitled不知道取什么标题。就这样吧,暂且将其定性为:使用Python批量生成每日水的word版邀请函。:模块openpyxl.docx中的load_workbook方法(这里是秘密,如果想看完整版请点击超链接)download.pipinstallopenpyxl获取受邀者信息。我们首先导入openpyxl模块中的load_workbook模块。fromopenpyxlimportload_workbook我们使用load_workbook(path)来读取文件并存储在变量wb中。wb=load_workbook('data/name_list.xlsx')ws=wb['name']接下来我们需要选择我们需要的“Sheet”,也就是名为“name”的表ws=wb['name']然后定义一个空的listnames用来存储被邀请单位和名字信息。然后我们遍历worksheet,提取所有信息存入listnames中,因为worksheet的第一行是标题,所以我们从第2行开始,最大行+1以range(2,ws.最大行+1)。names=[]forrowinrange(2,ws.max_row+1):company=ws["A"+str(row)].valuename=ws["B"+str(row)].valuenames。append(f"{company}{name}")以上步骤完成后,我们就可以开始批量生成邀请函了。先导入wordlibraryimportdocxdocx.Document('data/invitationletter.docx')为固定写法,在括号内填写邀请函模板的路径和文件名。doc可以理解为这个叫做“邀请函”的word文件。然后遍历names列表,将里面的信息一一写入word文件第二段的第三行,即doc.paragraphs[1].runs[2].text=name,最后保存它与savedoc=docx.Document('data/invitationletter.docx')forrunindoc.paragraphs[1].runs:fornameinnames:run.text=run.text.replace('****',name)doc.save(f'data/invitationletter_{name}.docx')效果
