1. 设置字体Font
语法
Font(name=None, sz=None, b=None, i=None, charset=None, u=None, strike=None, color=None, scheme=None, family=None, size=None, bold=None, italic=None, strikethrough=None, underline=None, vertAlign=None, outline=None, shadow=None, condense=None, extend=None)
参数详解
- name :字体名称
- size / sz :字体大小
- bold / b :是否加粗(bool值)
- italic / i :是否斜体(bool值)
- underline / u :下划线
'single',
'double',
'singleAccounting',
'doubleAccounting'
- strikethrough / strike :删除线(bool值)
- color :字体颜色
- scheme
"major", (标题)
"minor" (正文)
- vertAlign
'superscript', 上标
'subscript', 下标
'baseline' 普通
- 其他省略。
实例
import openpyxl
from openpyxl.styles import Font
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['name','number','unit','price'])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
# 设置标题
for c in range(1,5):
ws.cell(1,c).font = Font(name='宋体',size=14,bold=True)
# 设置正文内容
for r in range(2,7):
for c in range(1,5):
ws.cell(r,c).font = Font(name='宋体',size=12)
wb.save(r'/Users/junliangchen/Desktop/test.xlsx')
2. 设置边框Border
Side语法
Side(style=None, color=None, border_style=None)
参数详解
- style / border_style 边框样式
'dashDot','dashDotDot', 'dashed','dotted',
'double','hair', 'medium', 'mediumDashDot',
'mediumDashDotDot', 'mediumDashed', 'slantDashDot', 'thick', 'thin'
- color:边框颜色
Border语法
Border(left=None, right=None, top=None, bottom=None, diagonal=None, diagonal_direction=None, vertical=None, horizontal=None, diagonalUp=False, diagonalDown=False, outline=True, start=None, end=None)
参数详解
- top / bottom / left / right 分别对上下左右设置边框
- diagonalUp :是否设置对角线向上(bool值)
- diagonalDown :是否设置对角线向下(bool值)
- 当设置了上面选项后,再来设置 diagonal
- 其他省略
实例
import openpyxl
from openpyxl.styles import Font, Border, Side
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['name','number','unit','price'])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
ws.append(['A',2,5,0])
# 设置标题
for c in range(1,5):
ws.cell(1,c).font = Font(name='宋体',size=14,bold=True)
# 设置正文内容
for r in range(2,7):
for c in range(1,5):
ws.cell(r,c).font = Font(name=