纪念第一个半自动化小脚本写成 自动批量生成开票资料与合同并自动写入数据。

import os
import shutil
import openpyxl
import 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]=='':#遇到空白行停止运行
        break
    else:
        # 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 = date
        for i in range(4):
            i = 6 + i
            # print(ws_file)
            b = ws_new.cell(i, 1).value
            # print(b==None)
            if b ==None:
                e=1
                for 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)
                break
            else:
                pass

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值