openpyxl 列 插入_Openpyxl讓Excel飛(二)
阿新 • • 發佈:2021-01-14
技術標籤:openpyxl 列 插入
在文章《Openpyxl----讓Excel飛(一)》中,初步瞭解了Openpyxl的工作表操作和單元格操作。此次,將補充一些單元格操作的常用函式,另外再講解openpyxl行列操作及表格格式設定上常用的函式。
單元格操作
合併單元格(一)
ws.merge_cells('B1:G1') #合併B1到G1的單元格
合併單元格(二)
ws.merge_cells(start_row=2, start_column=1, end_row=6, end_column=1)#合併A2到A6的單元格
取消合併單元格(一)
ws.unmerge_cells('B1:G1') #取消合併單元格
取消合併單元格(二)
ws.unmerge_cells(start_row=2,start_column=1,end_row=6,end_column=1)#取消合併單元格
單元格資料格式設定
ws['B1'].number_format = '0.00' # 定義資料格式為數字,0.00表示顯示小數點後兩位數,如果需要三位數則0.000ws['C1'].number_format = '0%' # 定義資料格式為百分比,如需要小數點後幾位,則參照上一條語句ws['D1'].number_format = 'yyyy/mm/dd' #定義資料格式為日期,也可以定義為yy-mm-dd或dd-mm-yy等,只要yymmdd在就可以隨意安排ws['E1'].number_format = '0.00E+00' #定義資料格式為科學計數模式ws['F1'].number_format = '¥#,##0.00' #定義資料格式為貨幣,#,##0表示千位逗號隔開ws['H1'].number_format = '@' #定義資料格式為文字
PS:如果上述格式沒有你想要的格式,可以先自己在Excel中設定相應的單元格資料格式,然後通過print(ws['Cell'].number_format)列印單元格資料格式。就可以知道自己想要的資料格式在openpyxl是怎樣定義的。
行列操作
設定列寬
ws.column_dimensions['A'].width = 15 #設定列寬為15
設定行高
ws.row_dimensions[1].height = 15 #設定行高為15
隱藏行列
ws.column_dimensions['A'].hidden=1#隱藏A列ws.row_dimensions[2].hidden = 1 #隱藏第2行
獲取最大行數
max_row = ws.max_row #.max_row可以獲取工作表有資料部分的最大行數
獲取最大列數
max_col = ws.max_column #.max_col可以獲取工作表有資料部分的最大列數
插入行
ws.insert_rows(2) #在第二行前插入一行ws.insert_rows(5,2)#在第五行前插入兩行
插入列
ws.insert_cols(2) #在第二列前插入一列ws.insert_cols(5,2) #在第五列前插入兩列
格式設定
在開始格式設定之前,需要匯入相應的模組
from openpyxl.styles import *
字型設定
ft = Font(name = "Arial", #選擇字型 sz = 12, #設定字型大小,也可以用size = 來設定 b = True, #設定加粗,用布林變數True表示加粗,不定義或者False表示正常,也可以用bold = 來設定 i = True, #設定斜體,用布林變數True表示斜體,不定義或者False表示正常,也可以用italic= 來設定 u = 'single', #增加下劃線,'single'表示單下劃線,’double'表示雙下劃線,也可以用underline= 來設定 strike= True, #設定刪除線,用布林變數True表示增加刪除線,不定義或者False表示正常。 color = '0000FF') #設定顏色,‘0000FF'表示RGB三原色ws['A1'].font=ft#設定單元格A1字型為ft
對齊方式設定
Align = Alignment(horizontal='center', vertical='center')ws['A1'].Alignment=Align#設定單元格A1豎直與水平方向居中# Horizontal 水平對齊常用方式有以下:#'left'左對齊#'right' 右對齊#'center'居中#'fill' 填充,效果如下# 'justify' 自動換行#'centerContinuous'居中連續,效果如下# Vertical 豎直對齊常用方式有以下:#‘top'頂部對齊#'center'居中對齊#'justify'自動換行# 'bottom' 底部對齊
對齊方式選fill
對齊方式選centerContinuous
單元格填充設定
fill = PatternFill("solid",fgColor = '0000FF')#除了solid,還有下圖填充樣式可供選擇
填充樣式
邊框樣式設定
side = Side(style='medium', color='000000') #定義邊框的邊線,border = Border(top= side, #定義整個單元格的上下左右邊框邊線,可定義為不用邊線 bottom= side , left=side, right=side)ws.cell(11,11).border=border#定義單元格K11邊框#邊框邊線style有多種可定義,詳見下圖
邊線樣式
樣式打包定義
style1 = NamedStyle(name='style1', font=font1, fill=fill1, border=border, alignment=Align1)style2 = NamedStyle(name='style2', font=font2, fill= fill2, border=border, alignment=Align2)ws.cell(14,14).style = style1ws.cell(15,15).style = style2#假設已經定義好font1,fill1,font2,fill2,border,Align1,Align2
To BeContinued
關注公眾號”Start Python“,一起學習Python開發