复制sheet
-- coding: utf-8 --
"""
Created on Mon Jan 14 12:02:42 2019
python 调用 win32com 处理 excel 文件
"""
import win32com.client as 包_win32工具
import os as 包_系统工具
def 方法_获取文件目录(文件路径):
文件集 = 包_系统工具.listdir(文件路径)
return 文件集
def 方法_跨文件复制表(文件路径,文件集):
excel工具 = 包_win32工具.Dispatch('Excel.Application')
excel工具.visible = 1 # 此行设置打开的Excel表格为可见状态;忽略则Excel表格默认不可见
目标文件 = excel工具.Workbooks.Add() #新建立excel文件
目标表_集合 = 目标文件.Worksheets
for 文件名 in 文件集:
文件名分解 = 文件名.split('.')
print(文件名分解)
if 文件名分解[-1] == 'xlsx' or 文件名分解[-1] == 'xls':
文件 = excel工具.Workbooks.Open(文件路径 + '\\'+ 文件名)
表_集合 = 文件.Worksheets
表_集合(1).Copy(None,目标表_集合(1)) #跨表复制,插入第一个表之后,记得 Copy 首字母大写
目标表_集合(2).Name = 文件名分解[0] #由于新表总是在第二个表,所以第二个表改名就可了.
文件.Close(SaveChanges=0)
else:
pass
目标文件.SaveAs(文件路径 + r'\处理后的文件.xlsx')
目标文件.Close(SaveChanges=0)
def 方法_主程序(文件路径):
文件集 = 方法_获取文件目录(文件路径)
方法_跨文件复制表(文件路径,文件集)
return
if __name__ == '__main__':
文件路径 = r"你的文档路径"
方法_主程序(文件路径)