一、相关库的下载二、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")
运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)