1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import xlwings as xw import os
def split_excel(file_path): app = xw.App(visible=False, add_book=False) workbook = app.books.open(file_path) worksheet = workbook.sheets for i in worksheet: # 遍历工作簿中所有工作表 new_workbook = app.books.add() # 新建工作簿 new_worksheet = new_workbook.sheets[0] # 选中新建工作簿中的第1张工作表 i.copy(before=new_worksheet) # 将原来工作簿中的当前工作表复制到新建工作簿的第1张工作表之前 new_workbook.sheets[1].delete() #删除空白工作表 new_workbook.save('拆分\{}.xlsx'.format(i.name)) # 保存新工作簿 print('{}.xlsx'.format(i.name) + "拆分完成") new_workbook.close() # 关闭新工作薄 workbook.close() # 关闭旧工作薄
def find_excel(): path = os.getcwd() files = os.listdir(path) if not os.path.exists("拆分"): #检查如果没有“拆分”文件夹 os.mkdir("拆分") #创建“拆分”文件夹 excelfiles = [f for f in files if not f.startswith(("~$")) and f.endswith((".xlsx"))] #过滤当前所有xlsx文件 for file in excelfiles: #遍历所有xlsx文件 fullpath = os.path.join(path,file) split_excel(fullpath) #对xlsx文件进行拆分
find_excel()
|