python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同),第1张

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同

python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)

一、相关库的下载二、excel 和 word模板事先准备三、代码实现

一、相关库的下载
pip install docxtpl
pip install openpyxl
二、excel 和 word模板事先准备

excel

word

三、代码实现
from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os
#定义一个空的列表用于存放数据
contexts = []
#获取excel中的数据
def get_excel_data(excel_pathname):
    #获取excel句柄
    wk = load_workbook(excel_pathname)
    #获取excel对应的表单
    ws = wk['Sheet1']
    #Start row, where data begins 
    #Getting cell value, from columns A, B and C
    #Iterating through rows 2, 3, 4 ... 
    for row in range(2,ws.max_row + 1):
        name1 = ws["A" + str(row)].value
        name2 = ws["B" + str(row)].value
        year  = ws["C" + str(row)].value
        memory = ws["D" + str(row)].value
        context = {"name1":name1,"name2":name2,"year":year,"memory":memory}
        contexts.append(context)

def finish_word_data(word_pathname):
    if not os.path.exists("./所有合同"):
        #创建要保存的文件夹
        os.mkdir("./所有合同")
    for context in contexts:
        print(context)
        tpl = DocxTemplate(word_pathname) #获取原有的word模板数据
        tpl.render(context)               #利用插值表达式{{ example }}  替换word模板中需要替换的地方
        tpl.save("./所有合同/{}的劳动合同.docx".format(context["name2"])) #保存为新的word,修改后的

if __name__ == "__main__":
    get_excel_data(r"./相关劳动合同签署人员.xlsx")
    finish_word_data(r"./劳动合同模板.docx")

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5701524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存