该方法。由上海悠悠提供。可关注上海-悠悠的博客园
def CopyExcel(Excelpath1,Excelpath2):
#新建excel
wb2=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()#关闭excel
wb2.close()
适用于python2;
1.执行时,由于get_sheet_names()比较旧了会报错
可以改为sheetnames方式.
sheets1 = wb1.sheetnames
sheets2 = wb2.sheetnames
2.get_sheet_by_name 依然会有警告提示。需要切换为下方的方式
wb1[sheets1[0]]