1.字体样式
from openpyxl import Workbookfrom openpyxl.styles import Fontwb = Workbook()ws = wb.active# 默认字体样式ws["A1"] = "A1"# 自定义字体样式ws["B2"] = "B2"font = Font(name="微软雅黑", # 字体size=15, # 字体大小color="0000FF", # 字体颜色,用16进制rgb表示bold=True, # 是否加粗,True/Falseitalic=True,# 是否斜体,True/Falsestrike=None,# 是否使用删除线,True/Falseunderline=None, # 下划线, 可选'singleAccounting', 'double', 'single', 'doubleAccounting')ws["B2"].font = fontwb.save("./test.xlsx")
2.行列宽高
from openpyxl import Workbookwb = Workbook()ws = wb.activews.row_dimensions[2].height = 30 # 设置第2行高度为30ws.column_dimensions["B"].width = 30 # 设置B列宽度为30wb.save("./test.xlsx")
3.对齐方式
from openpyxl import Workbookfrom openpyxl.styles import Alignmentwb = Workbook()ws = wb.activews.row_dimensions[2].height = 30 # 设置第2行高度为30ws.column_dimensions["B"].width = 30 # 设置B列宽度为30# 默认字体样式ws["A1"] = "A1"ws["B2"] = "B1"ws['B2'].alignment = Alignment(horizontal='left', # 水平对齐,可选general、left、center、right、fill、justify、centerContinuous、distributedvertical='top', # 垂直对齐, 可选top、center、bottom、justify、distributedtext_rotation=0, # 字体旋转,0~180整数wrap_text=False, # 是否自动换行shrink_to_fit=False, # 是否缩小字体填充indent=0, # 缩进值)wb.save("./test.xlsx")
4.边框
from openpyxl import Workbookfrom openpyxl.styles import Border, Sidewb = Workbook()ws = wb.activews["B2"] = "B2"side = Side(style="medium", # 边框样式,可选dashDot、dashDotDot、dashed、dotted、double、hair、medium、mediumDashDot、mediumDashDotDot、mediumDashed、slantDashDot、thick、thincolor="ff66dd", # 边框颜色,16进制rgb表示)ws["B2"].border = Border(top=side, # 上bottom=side, # 下left=side, # 左right=side, # 右diagonal=side # 对角线)wb.save("./test.xlsx")
5.填充和渐变
from openpyxl import Workbookfrom openpyxl.styles import PatternFill, GradientFillwb = Workbook()ws = wb.activews["B2"] = "B2"fill = PatternFill(patternType="solid", # 填充类型,可选none、solid、darkGray、mediumGray、lightGray、lightDown、lightGray、lightGridfgColor="F562a4", # 前景色,16进制rgbbgColor="0000ff", # 背景色,16进制rgb# fill_type=None, # 填充类型# start_color=None, # 前景色,16进制rgb# end_color=None # 背景色,16进制rgb)ws["B2"].fill = fillws["B3"].fill = GradientFill(degree=60, # 角度stop=("000000", "FFFFFF") # 渐变颜色,16进制rgb)wb.save("./test.xlsx")