#coding=utf-8 ''' excel基本操作 ''' from openpyxl import Workbook wb=Workbook() ws1=wb.create_sheet('sh1') ws2=wb.create_sheet('sh2') ws3=wb.copy_worksheet(ws1) ws3.title='copy_sh1' ws1['A1']=1 ws1['A2']=2 ws1['A3']=3 ws1['B1']=4 ws1['B2']=5 ws1['B3']=6 ws1['C1']=7 ws1['C2']=8 ws1['C3']=9 ws1.append([10,20,30]) ws1.append([40,50,60]) wb.save('e:\test\ceshi.xlsx') ''' for i in wb.sheetnames: print(type(i)) print(i) for i in wb: print(type(i)) print(i) #按行读取 for i in ws1.iter_rows(): print('type(i):',type(i)) print('i:',i) for j in i: print('type(j):',type(j)) print('j:',j.value) ''' #按列读取 for i in ws1.iter_cols(): print('type(i):',type(i)) print('i:',i) for j in i: print('type(j):',type(j)) print('j:',j.value) #引用excel的公式 ws1['A8']='=sum(1,2)' ws1['A9']='=sum(A1:A5)' wb.save('e:\test\ceshi.xlsx') ws2['A1']=1.23 d=ws2.cell(row=2,column=4,value=203) print('d.value:',d.value) print(ws2.cell(row=2,column=4).value) print(ws2['D2'].value) #批量提取数据 data=[] d={} for i in ws1.iter_rows(): temp=[] for j in i: temp.append(j.value) d[i]=temp print(d) dd={} for i in range(1,6): temp=[] for j in range(1,4): temp.append(ws1.cell(row=i,column=j).value) dd[i]=temp print('dd:',dd) #操作多行 for i in ws1[1:5]: print('操作多行:',i) for j in i: print(j.value) #操作多列 for i in ws1['A':'C']: print('操作多列',i) for j in i: if j.value!=None: print(j.value) else: print(0) print('*'*20) #print(ws1[1]) #print(ws1[1:3]) #按行定位单元格取数据: for i in range(1,len(ws1[1:3])+1): print(ws1[i]) for j in range(len(ws1[i])): print('%s,%s:%s'%(i,j,ws1[i][j].value)) print('按列定位单元格取数据') for i in ws1['A':'C']: for j in range(len(i)): print(i[j].value) #获取所有行、列 for i in ws1.rows: print(i) for i in ws1.columns: print(i) #打印有效区域 print(ws1.min_row,ws1.min_column) print(ws1.max_row,ws1.max_column) print(ws1['A':'C']) print(ws1[1:3])