import os
import openpyxl
from openpyxl.styles import Font, PatternFill, Side, Border, Alignment
# 创建工作簿
if os.path.exists('../StudyData/学生信息.xlsx'):
wb = openpyxl.load_workbook('../StudyData/学生信息.xlsx')
else:
wb = openpyxl.Workbook()
wb.save('../StudyData/openpyxl_hw.xlsx')
# 获取表格
sheet = wb['students']
# 添加列名
sheet.cell(1, 5).value = '留级建议'
# 添加留级建议列的数据
max_row = sheet.max_row
scores = sheet['D']
for i in range(2, len(scores)):
if scores[i].value < 60:
sheet.cell(i, 5).value = '留级'
# 设置行高
sheet.row_dimensions[1].height = 30
# 列标题字体格式
font1 = Font(
size=15,
color='0f6f95' # 不加井号
)
for cell in sheet[1]:
cell.font = font1
# 留级字体样式
font2 = Font(
color='e60606'
)
font3 = Font(
color='a35958'
)
sugges = sheet['E']
# 设置字体样式
for i in range(2, len(scores)):
if scores[i].value < 60:
scores[i].font = font2
sugges[i].font = font3
# 创建列标题填充样式
fill1 = PatternFill(
fill_type='solid',
start_color='c3d79a',
end_color='c3d79a'
)
row = sheet[1] # 取第一行有数据的单元格
# 设置填充样式
for row2 in row:
row2.fill = fill1
# 创建边框样式
side = Side(
border_style='medium',
color='a0b858'
)
border1 = Border(
top=side,
bottom=side,
left=side,
right=side
)
# 取所有列
cols = sheet['A:E']
# 设置边框样式
for col in cols:
for cell in col:
cell.border = border1
# 创建单元格对齐样式
al = Alignment(
horizontal='center', # 水平方向: center, left, right
vertical='center' # 垂直方向: center, top, bottom
)
# 设置对齐样式
for col in cols:
for cell in col:
cell.alignment = al
wb.save('../StudyData/openpyxl_hw.xlsx')
Python基础小练习_openpyxl设置单元格样式
于 2023-02-15 00:03:35 首次发布
这篇博客主要介绍了如何利用Python的openpyxl库来设置Excel单元格的样式,包括字体、颜色、边框、对齐方式等,旨在帮助初学者提升Excel数据处理的能力。

8932

被折叠的 条评论
为什么被折叠?



