该方法。由上海悠悠提供。可关注上海-悠悠的博客园
def CopyExcel(Excelpath1,Excelpath2):#新建excelwb2=openpyxl.Workbook()wb2.save(Excelpath2)print('新建成功')#读取数据wb1 = openpyxl.load_workbook(Excelpath1)wb2 = openpyxl.load_workbook(Excelpath2)sheets1 = wb1.get_sheet_names()sheets2 = wb2.get_sheet_names()#excel选择表sheet1 = wb1.get_sheet_by_name(sheets1[0])sheet2 = wb2.get_sheet_by_name(sheets2[0])max_row=sheet1.max_row#最大行数max_column=sheet1.max_column#最大列数for m in range(1,max_row+1):for n in range(97,97+max_column):#chr(97)='a'n=chr(n)#ASCII字符i='%s%d'%(n,m)#单元格编号cell1=sheet1[i].value#获取data单元格数据sheet2[i].value=cell1#赋值到test单元格wb2.save(Excelpath2)#保存数据wb1.close()#关闭excelwb2.close()
适用于python2;
1.执行时,由于get_sheet_names()比较旧了会报错
可以改为sheetnames方式.
sheets1 = wb1.sheetnamessheets2 = wb2.sheetnames
2.get_sheet_by_name 依然会有警告提示。需要切换为下方的方式
wb1[sheets1[0]]