import osimport shutilimport openpyxlimport xlrd#1.打开开票资料文件 按行读取数据des='开票资料'str='模板'filename='开票资料.xlsx'doc=xlrd.open_workbook(filename,formatting_info=True) #打开开票资料文件ws=doc.sheet_by_index(0) #打开第一个表格nrows=ws.nrows #获取最大行print(nrows)invoice_mouth=input("请输入开票资料月份(xxxx-xx):")date=input('请输入开票日期')for i in range(1,nrows):va=ws.row_values(i,start_colx=0,end_colx=None)if va[0]=='':#遇到空白行停止运行breakelse:# print(va)new_ws = invoice_mouth + va[1] + va[2] + va[8] + '合同开票资料.xlsx'# print(new_ws)for root, dirs, files in os.walk(des): # 将开票资料文件夹的中的所有文件名变成列表# print(files)# # 判断new_ex在不在 文件夹中# # print(new_ex)# # print(files[0])# # print(new_ex==files[0]) 测试是不是相等ws_file= des + '\\' + new_ws# print(ws_file)if new_ws not in files:#如果表格不存在,根据模板里的新建# print(new_ws)#测试是不是运行b = str + '\\' + va[8] + '.xlsx'shutil.copy(b, ws_file)wb_new=openpyxl.load_workbook(ws_file)ws_new=wb_new.active#打开对应开票资料ws_new.cell(14, 1).value=va[2]ws_new.cell(26, 1).value = datefor i in range(4):i = 6 + i# print(ws_file)b = ws_new.cell(i, 1).value# print(b==None)if b ==None:e=1for y in va[3:8]:# print(y)ws_new.cell(i,e).value=y# print(ws_new.cell(i,e))e=e+1# print(e)wb_new.save(ws_file)breakelse:pass
如果觉得《纪念第一个半自动化小脚本写成 自动批量生成开票资料与合同并自动写入数据。》对你有帮助,请点赞、收藏,并留下你的观点哦!