zoukankan      html  css  js  c++  java
  • 办公自动化5_用Python批量生成word版邀请函

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

    因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
  • 相关阅读:
    AcWing每日一题--最大的和
    使用 *args 和 **kwargs 的含义
    Python的八大基本数据类型之 元组、列表、字典
    条件判断与if嵌套
    数据拼接与转换
    print()函数与转义字符
    BEGIN-2 序列求和
    BEGIN-1 A+B问题
    并发编程——进程——生产者消费者模型
    并发编程——进程——进程的同步与数据共享
  • 原文地址:https://www.cnblogs.com/quezesheng/p/13286356.html
Copyright © 2011-2022 走看看