wb = openpyxl.load_workbook('sample.xlsx')
ws1 = wb['Sheet']
# 列見出し用:センタリングと背景色
header_alignment = Alignment(horizontal='center')
header_fill = PatternFill(patternType='solid', fgColor='d3d3d3')
# 罫線
side = Side(style='thin', color='000000')
border = Border(top=side, bottom=side, left=side, right=side)
# 列の幅を変更
for col in list('ABCDEFGH'):
if col == 'A' or col == 'B':
ws1.column_dimensions[col].width = 20
else:
ws1.column_dimensions[col].width = 30
# ここではrangeで範囲設定
for row_num in range(10,20):
for col_num in range(3, 8):
if row_num == 10:
# 見出し装飾
ws1.cell(row=row_num, column=col_num).fill = header_fill
ws1.cell(row=row_num, column=col_num).alignment = header_alignment
# 罫線引く
ws1.cell(row=row_num, column=col_num).border = border
# 数式を入力
ws1['A4'] = '=SUM(A1:A3)'
wb.save('sample.xlsx')