930758022 发表于 2019-12-20 07:06

自动汇总所有excel表的数据到一张总表上


场景:发出一个excel模板要求相关员工(人数非常多)根据模板提报数据,汇总的时候需要一个个表格打开,然后复制黏贴数据到汇总表上,费时费力。或者导入VBA模块。
既然学了python,就把python用上了,一段代码自动完成汇总。


import os
from openpyxl import load_workbook

#更新数据函数
def update_sta(filename):
    wb_fen=load_workbook(filename)
    wb_zong=load_workbook('总表.xlsx')
    sh_fen=wb_fen['shuju']
    sh_zong=wb_zong['shuju']
    maxrow_fen=sh_fen.max_row
    maxrow_zong=sh_zong.max_row
    maxcolumn_fen=sh_fen.max_column
    for m in range(2,maxrow_fen+1):
      for n in range(97,97+maxcolumn_fen)
            n=chr(n)
            i='%s%d'%(n,m)
            j='%s%d'%(n,m+maxrow_zong-1)
            cell_fen=sh_fen
            sh_zong.value=cell_fen.value
    wb_zong.save('zong.xlsx')
    print('更新的文件为:',filename)
    wb_fen.close()
    wb_zong.close()

#读取文件夹中提交的所有数据表并更新
path=os.listdir(r'C:\Users\Desktop\excelautomation')#分表/汇总表都在一个文件夹下
for p in path:
    if p !='总表.xlsx' and p !='excel表汇总.py':
      update_sta(p)
print('更新完毕!')

王老总 发表于 2019-12-20 07:06

谢谢大佬

wwshu022 发表于 2019-12-20 07:12

谢谢分享

mumukay 发表于 2019-12-20 07:12

6666666666

hui6dezhu 发表于 2019-12-20 08:12

好的,非常感谢

shuaixingle 发表于 2019-12-20 08:27

6666

maji132 发表于 2019-12-20 08:48

谢谢大牛

wn123 发表于 2019-12-20 09:01

感谢楼主分享
页: [1]
查看完整版本: 自动汇总所有excel表的数据到一张总表上