寫入數據到workbookapp
from openpyxl import Workbook from openpyxl.utils import get_column_letter wb = Workbook() dest_filename = 'empty_book.xlsx' ws1 = wb.active ws1.title = "range names" for row in range(1, 40): ws1.append(range(600)) ws2 = wb.create_sheet(title="Pi") ws2['F5'] = 3.14 ws3 = wb.create_sheet(title="Data")
for row in range(10, 20): for col in range(27, 54): _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col))) print(ws3['AA10'].value) #輸出:AA wb.save(filename = dest_filename)
讀取workbook函數
from openpyxl import load_workbook wb = load_workbook(filename = 'empty_book.xlsx') sheet_ranges = wb['range names'] print(sheet_ranges['D18'].value) #輸出:3
注意:openpyxl當前不讀取excel文件中全部可能的項目,所以若是用相同的名稱打開和保存現有文件,圖像和圖表將丟失spa
使用數字格式excel
import datetime from openpyxl import Workbook wb = Workbook() ws = wb.active ws['A1'] = datetime.datetime(2010, 7, 21) # set date using a Python datetime print(ws['A1'].number_format) #輸出:'yyyy-mm-dd h:mm:ss'
使用函數code
from openpyxl import Workbook wb = Workbook() ws = wb.active ws["A1"] = "=SUM(1, 1)" # 在單元格A1追加函數SUM wb.save("formula.xlsx")
函數必須使用英文名稱,函數參數之間必須用逗號分隔,不能使用分號等其餘標點符號
openpyxl不會編譯公式,但會檢查公式的名稱
若是嘗試使用未知的公式,多是由於使用的公式未包含在初始規範中。此類公式必須加上前綴才能工做orm
合併及取消合併單元格blog
from openpyxl.workbook import Workbook wb = Workbook() ws = wb.active ws.merge_cells('A2:D2') ws.unmerge_cells('A2:D2') ws.merge_cells(start_row=2, start_column=1, end_row=4, end_column=4) ws.unmerge_cells(start_row=2, start_column=1, end_row=4, end_column=4)
合併單元格時,除左上角的單元格外,全部單元格都將從工做表中刪除
爲了攜帶合併單元格的邊界信息,合併單元格的邊界單元格被建立爲mergecells,其值始終爲none圖片
插入圖片get
from openpyxl import Workbook from openpyxl.drawing.image import Image wb = Workbook() ws = wb.active img = Image('01.png') #讀取圖片 ws.add_image(img, 'A1') #將圖片追加至單元格A1 wb.save('logo.xlsx')
單元格分組it
import openpyxl wb = openpyxl.Workbook() ws = wb.create_sheet() ws.column_dimensions.group('A','D', hidden=True) #將A列到D列進行分組,而且隱藏 ws.row_dimensions.group(1,10, hidden=True) #將行1到行10進行分組,而且隱藏 wb.save('group.xlsx')