Python基础小练习_openpyxl设置单元格样式

这篇博客主要介绍了如何利用Python的openpyxl库来设置Excel单元格的样式,包括字体、颜色、边框、对齐方式等,旨在帮助初学者提升Excel数据处理的能力。
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')


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值