openpyxl.Workbook(): 创建Excel表格
openpyxl.Workbook.active: 打开Excel一个sheet
Workbook.create_sheet(): 在Excel中新创建一个sheet(在默认的sheet后插入),可重新命名和更改创建默认值(0)
Workbook.title: 默认创建sheet按(sheet1,sheet2…)可用title给sheet命名
Workbook.sheet_properties.tabColor: 设置sheet标题的背景色
Workbook.sheetnames: 获取表格中所有sheet的名字
Workbook.copy_worksheet(): 创建sheet的副本
Workbook.save() :保存表格
openpyxl.load_workbook(): 打开现有工作表
import random from openpyxl import Workbook wb=Workbook() #新创建Excel ws=wb.active #打开一个sheet ws.title='new sheet' #改默认sheet的名字为‘new sheet’ ws1=wb.creat_sheet('first') #新创建一个sheet,并重新命名为first ws2 = wb.create_sheet("Mysheet", 1) #默认依次在后新建,可以更改默认值 ws.sheet_properties.tabColor = "1072BA" #设置sheet标题的背景色 source=wb.active target=wb.copy_worksheet(source) #创建source的副本 #表格数据 #指定sheet的单元格赋值 c=ws['A5'] ws['A5']='Python' #使用行列表示访问单元格 d=ws1.cell(row=2,column=4,value='hello world') #访问生产100X100单元格并赋值(可不赋值) for i in range(1,101): for j in range(1,101): ws2.cell(row=i,column=j,value=i*j) #使用切片访问单元格 cell_range=['A2','D6'] for cel in cell_range: #元组数据 for cl in cel: #遍历元组数据 cl.value=random.randint(1,50) #随机赋值 #使用列访问单元格 colC= ws['C'] for cel in colC: cel.value=random.randin(1,50) col_range=ws['C:D'] for cel in col_range: for cl in cel: cl.value=random.randint(1,50) #使用行访问单元格 row10=ws[10] row_range=ws[2:9] #使用Workbook.iter_rows()方法访问单元格 for row in ws.iter_rows(min_row=1,max_col=4,max_row=6): for cel in row: cel.value=random.randint(1,30) #使用Workbook.iter_cols()方法访问单元格(在只读模式下不可用) for row in ws.iter_cols(min_row=1,max_col=4,max_row=6): for cel in row: cel.value=random.randint(1,30) #遍历所有行或者列可以使用Worksheet.rows /Worksheet.columns ws['C5']='hello' print(tuple(ws.rows) #访问A1~C5范围的单元格 #返回单元格的值Worksheet.values for row in ws.values: for value in row: print(value) wb.save('f:/pytest/pyxl.xlsx') #保存Excel
#如果文档保存到 Pyramid, Flask or Django ,需NamedTemporaryFile()
from tempfile import NamedTemporaryFile
from openpyxl import Workbook
wb=Workbook()
with NamedTemporaryFile() as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream=tmp.read()
#存文档为模板template=True
文章来源: https://blog.csdn.net/weixin_39892788/article/details/89810938