用python 的xlwings包,实现每个人的日报合并功能,代码如下:
#coding:utf-8
import xlwings as xw
import os
def get_name(wb):
"""
获取所有sheet name
:param wb:
:return:dict
"""
temp_dict = {}
for shname in wb.sheets:
if shname.name!='':
temp_dict[shname.name] = shname
return temp_dict
def up_info(info_dict):
"""
实现日志的合并
:param info_dict:
:return:
"""
for shname in info_dict:
f_name = '%s.xls'%shname
if os.path.exists(f_name):
wb = xw.Book(f_name)
dt_info = get_name(wb)
if shname in dt_info:
info_dict[shname].range('A2:D2').expand('down').value = dt_info[shname].range('A2:D2').expand('down').value
#print len(dt_info[shname].range('A2:D2').expand('down').value)
wb.close()
if __name__=='__main__':
hzwb = xw.Book(u'日报汇总.xls')
name_dict = get_name(hzwb)
up_info(name_dict)
hzwb.save(u'日报汇总.xls')
hzwb.close()