用Python 批量生成法务函

1. 情境问题

小王是一名法务专员,工作中会处理所在公司的侵权事件并向侵权方发送法务函。

他会按照【法务函模板.docx】 Word 文件给【封号名单.xlsx】工作簿中的每个封号人员生成一份法务函。

用Python 批量生成法务函_第1张图片

实现这个结果,他需要手动将【封号名单.xlsx】工作簿中的封号人员的名字和微信号添加到【法务函模板.docx】 Word 文件对应的位置上,并将【法务函模板.docx】 Word 文件另存为新的文件。

封号人员的人数有多少,他就得重复多少次。以第一个封号人员为例,实现过程如下图:

用Python 批量生成法务函_第2张图片 用Python 批量生成法务函_第3张图片

用Python实现:

用Python 批量生成法务函_第4张图片 代码实现:

# 案例 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 批量生成法务函_第5张图片

用Python 批量生成法务函_第6张图片 

用Python 批量生成法务函_第7张图片 

 

 

你可能感兴趣的:(Python,python,开发语言,后端,docx,Pt)