辦公-讀取exl批量製作word模板(存在一定問題)
阿新 • • 發佈:2022-03-20
辦公-讀取exl批量製作word模板(存在一定問題)
參考程式碼 Python自動化辦公之Word,全網最全看這一篇就夠了
python套用word模板_如何使用MailMerge用python填寫word模板?
程式碼
from openpyxl import Workbook, load_workbook from mailmerge import MailMerge template = '模板.docx' document = MailMerge(template) # 載入excel檔案 wb = load_workbook("123.xlsx",data_only=True) # 獲取所在的工作表 sheet = wb.active flag=0 countRow=0 lastRow=(0,0) for row in sheet.iter_rows(min_row=2, max_row=38,min_col=1, max_col=8): save = 0 for i in row: if i.value==None: flag=1 continue if (flag==1 and save==0): name=lastRow[4].value num=lastRow[3].value classs=lastRow[0].value mayor=str(classs)[:-3] xuefen=row[7].value if int(xuefen)>=12: print(name,num,mayor,classs,xuefen) document.merge(name=name, num=str(num), mayor=mayor, classs=classs, xuefen=str(xuefen)) document.write('新建資料夾\{:}的學業.docx'.format(name)) save=1 print(i.value,end=', ') flag = 0 print() lastRow = row countRow+=1 print(countRow)
限制
1.document.merge(name=name,
num=str(num),
mayor=mayor,
classs=classs,
xuefen=str(xuefen))函式使用時雖然name,sum,mayor,classs,xuefen資料已更新,但產生新模板時依然只沿用老資料,使得新產生的模板雖然名字不同,裡面的內容都是一樣的(資料與第一次執行該函式的資料相同)