Python操作Excel(四)- 设置单元格的样式

本文介绍如何使用Python库openpyxl来自定义Excel表格的样式,包括字体、颜色、填充、对齐、边框及调整行高列宽,通过实例展示了如何设置单元格的多种样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实际生活中,咱们可以通过软件来操作单元格中的内容的样式包括:字体、颜色等,也可以对列或者行进行合并操作,还可以添加公式以及调整行高和列的宽度。同样的,这些操作 openpyxl 也可以实现。
用表格展示数据的时候,有的时候我们可能需要对不同的数据以不同的风格进行展示从而达到分区或者强调的作用。
如果想要自定义单元格的风格,需要从 openpyxl.styles 模块中导入相应的类:

import openpyxl
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment

# 1.打开工作簿
wb = openpyxl.load_workbook('files/school.xlsx')
sheet = wb.active

# 2.设置单元格字体样式
"""
Font(
    name=None,      # 字体名,可以用字体名字的字符串
    strike=None,    # 删除线,True/False
    color=None,     # 文字颜色
    size=None,      # 字号
    bold=None,      # 加粗, True/False
    italic=None,    # 倾斜,Tue/False
    underline=None # 下划线, 'singleAccounting', 'double', 'single', 'doubleAccounting'
)
"""
# 1) 创建字体对象
font1 = Font(
        size=20,
        italic=True,
        color='ff0000',
        bold=True,
        strike=True
)
# 2) 设置指定单元格的字体
# 单元格对象.font = 字体对象
sheet['B2'].font = font1


# 3. 设置单元格填充样式
"""
PatternFill(
	fill_type=None,		# 设置填充样式: 'darkGrid', 'darkTrellis', 'darkHorizontal', 'darkGray', 'lightDown', 'lightGray', 'solid', 'lightGrid', 'gray125', 'lightHorizontal', 'lightTrellis', 'darkDown', 'mediumGray', 'gray0625', 'darkUp', 'darkVertical', 'lightVertical', 'lightUp'
	start_color=None	# 设置填充颜色
)
"""
# 1) 设置填充对象
fill = PatternFill(
        fill_type='solid',
        start_color='ffff00'
)
# 2)设置单元格的填充样式
# 单元格对象.fill = 填充对象
sheet['B2'].fill = fill


# 4. 设置单元格对齐样式
# 1)创建对象
al = Alignment(
        horizontal='right',     # 水平方向:center, left, right
        vertical='top'       # 垂直方向: center, top, bottom
)
# 2) 设置单元格的对齐方式
sheet['B2'].alignment = al

# 5. 设置边框样式
# 1)设置边对象(四个边的边可以是一样的也可以不同,如果不同就创建对个Side对象)
side = Side(border_style='thin', color='0000ff')
# 2) 设置边框对象
# 这儿的left、right、top、bottom表示的是边框的四个边,这儿四个边使用的是一个边对象
bd = Border(left=side, right=side, top=side, bottom=side)
# 3)设置单元格的边框
sheet['B2'].border = bd

# 6.设置单元格的宽度和高度
# 设置指定列的宽度
sheet.column_dimensions['A'].width = 20
# 设置指定行的高度
sheet.row_dimensions[1].height = 45

# 7. 保存
wb.save('files/school.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值