情境问题
小王是一名法务专员,工作中会处理所在公司的侵权事件并向侵权方发送法务函。
他会按照【法务函模板.docx】 Word 文件给【封号名单.xlsx】工作簿中的每个封号人员生成一份法务函。
实现这个结果,他需要手动将【封号名单.xlsx】工作簿中的封号人员的名字和微信号添加到【法务函模板.docx】 Word 文件对应的位置上,并将【法务函模板.docx】 Word 文件另存为新的文件。
封号人员的人数有多少,他就得重复多少次。以第一个封号人员为例,实现过程如下图:
用Python实现:
代码实现:
# 案例 1:批量生成法务函
from docx import Document
from docx.shared import Pt
from openpyxl import load_workbook
# 打开【封号名单.xlsx】工作簿,获取【封号人员】工作表
title_wb = load_workbook('../工作/封号名单.xlsx')
title_sheet = title_wb.active
# 遍历【封号人员】工作表中的数据
for row in title_sheet.iter_rows(min_row=2, values_only=True):
# 获取“名字”
name = row[0]
# 获取“微信号”
wxid = row[1]
# 打开 Word 文件
doc = Document('../工作/法务函模板.docx')
# 获取第六个 Paragraph 对象
para = doc.paragraphs[5]
# 添加封号人员名字
run_name = para.add_run(name)
# 字体加粗
run_name.font.bold = True
# 字体加下划线
run_name.font.underline = True
# 设置字体大小为 14 pt
run_name.font.size = Pt(14)
# 添加封号人员微信号
run_wxid = para.add_run(' 同学(WeChat ID: {})'.format(wxid))
# 设置字体大小为 14 pt
run_wxid.font.size = Pt(14)
# 按封号人员名字命名并保存文件到【法务函文件】文件夹
doc.save('../工作/法务函文件/法务函-{}.docx'.format(name))
总结
到此这篇关于用Python实现批量生成法务函代码的文章就介绍到这了,更多相关Python批量生成法务函内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!