python_openpyxl学习记录
import os import uuid from openpyxl import Workbook from openpyxl.styles import colors #颜色模块 from openpyxl import load_workbook sr=uuid.uuid4() #生成一个不重复的字串 wb=Workbook() ws=wb.active #创建工作簿的时候默认创建的一个工作表 '''ws1=wb.create_sheet('nihao') #在最后新建一个表 ws2=wb.create_sheet('nihao2',0) #在0(第一个工作表之前)号工作表前插入一个表 ws3=wb.create_sheet('nihao3',-1) #在-1(最后一个工作表之前)号工作表前插入一个表 ws.title,ws1.title,ws2.title,ws3.title=['1','2','3','4'] #修改工作表名称 ws['a1']=100 #填入一个值 col=colors.COLOR_INDEX[4] ws1.sheet_properties.tabColor=col #设置工作表颜色 wb.copy_worksheet(wb['1']) #复制一个工作表 1 Copy,只能在当前工作簿复制操作,且不能复制图表,图像等对象 # wss1=wb['title'] #获得工作表title对象 # wb.sheetnames #获取工作表名称['Sheet2', 'New Title', 'Sheet1'] for i in wb: print(i.title) #循环方式获得工作表对象,这是打印标题''' # do with data '''ws['a2']='hello world' d=ws.cell(3,2,value=100) #以上两种方法均给单元格赋值,注意value是参数,而不是直接=多少! for x in range(1,11): for y in range(1,11): value=x*y #所以这里可以提前定义好value的值! ws.cell(x,y,value=value) cell_rng=ws['a1':'f4'] for m in cell_rng: #按行一行一行取 for k in m: #再取行中的每一个单元格 print(k.value,end=',') print() colc=ws['a'] #取一列 colc1=ws['a:c'] #取多列 colr=ws[1] #取一行 colr1=ws[1:5] #取多行''' # for x in range(1,11): # for y in range(1,11): # value=x*y #所以这里可以提前定义好value的值! # ws.cell(x,y,value=value) # # for ro in ws.iter_rows(min_row=1,max_row=4,min_col=1,max_col=10): #通过行列序号获取一个区域, # values_only=True就是只取值 # # ws.iter_cols()一样的用法,只是先从列,再循环行,方向不一样,且只读模式下不可用 # for rng in ro: # print(rng.value,end='') # print() # ws['d10']='hello world' # ws['b5']='hello world' # # # for i in ws.rows: #从A1到最后一个使用单元格的区域,ws.columns使用方法一样的,方向不一样,且只读模式下不可用 # # print(i) # for row in ws.values: #循环只取值,这里区域是从A1到最后一个使用的单元格 # for value in row: # print(value,end=' ') # print() wb1=load_workbook(os.path.join(os.path.expanduser('~'),'desktop','asd.xlsx'),keep_vba=True)#,keep_vba=True) keep_vba启用vba # wb.save(os.path.join(os.path.expanduser('~'),'desktop','%s.xlsx'%sr)) # #保存This operation will overwrite existing files without warning. wb1.save(os.path.join(os.path.expanduser('~'),'desktop','asd_copy.xlsm'))#直接保存为不一样的名称,就是另存了,若想保存为启用宏的工作簿,则 # 打开的时候就要启用