python学习笔记—excel操作(3)(个性化操作)

这篇博客详细介绍了Python中对Excel进行个性化操作的方法,包括设置字体、行高列宽、合并单元格、填充单元格、渐变填充、边框设计、文本对齐以及创建命名样式。内容涵盖字体样式、边框类型、文本旋转等多个方面,对于需要处理Excel数据的开发者极具参考价值。

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

个性化
1.设置字体,行高列宽,合并单元格

import openpyxl

wb=openpyxl.Workbook()
ws1=wb.create_sheet(title="红")
ws2=wb.create_sheet(title="绿")
ws1.sheett_properties.tabColor="FF0000"#将sheet1颜色改为红色
ws2.sheett_properties.tabColor="00FF00"#将sheet2颜色改为绿色

ws1.row_dimensions["2"].height=200#第二行行高设置为200
ws1.colimn_dimensions["B"].width=100#B列列宽设置为100
#要注意的是,行高和列宽的单位不一样,例如这里200的行高长度实际上要小于100的列宽

ws.merge_cells("A2:C6")#合并A2到C6这个矩形内所有的单元格
ws.unmerge_cells("A2:C6")#解合单元格
#需要注意的是,解合的单元格只能是之前合并的,不能部分解合,例如ws.unmerge_cells("A2:C3")将会报错

ws1.frezze_panes="B8"#将B8左边与下边的单元格冻结,滚动进度的时候,冻结的部分始终显现
ws1.frezze_panes="A1"#解冻,即把A1作为基准就可以了。

2.设置单元格字体

openpyxl.styles.Font(参数)

参数主要有:
name 字体名称
size 字体尺寸
bold:True/False 是否加粗
italic:True/False 是否倾斜
verAlign:"None"默认/"superscript"上标/“subscript”下标
underline:"None"默认/"single"单下划线/“double”双下划线/'singleAccounting’会计用单下划线/"doubleAccounting"会计用双下划线
strike:True/False 是否显示删除线
color:字体颜色

from openpyxl import Workbook
from openpyxl.styles import Font
wb=Workbook
ws=wb.active
b2=ws['B2']
b2.value='i love you'
b_r_f=Font(bold=True,color='FF0000')
b2.font=b_r_f#加粗,字体红色
italic_strike_blue_13font=Font(size=13,italic=True,strike=True,color='0000FF')
b3=ws['B3']
b3.value='i love you,too'
b3.font=italic_strike_blue_13font#设置定义好的格式
wb.save('路径')

3.填充单元格

from openpyxl.styles import PatternFill
yellow_fill=Pattern(fill_type="solid",fgColor="FFFF00")
b2.fill=yellow_fill
#填充颜色

4.渐进填充

from openpyxl.styles import GradientFill

red_to_green=GradientFill(fill_type="liner",stop=("FF0000","00FF00"))
b3.fill=red_to_green

5.边框设计

openpyxl.styles.Border()
openpyxl.styles.Side()

关于border参数:
left 指定左侧边框线类型合颜色
right top bottom同理
diagonal 指定对角线类型和颜色
diagonalUp 是否绘制左下角到右上角的对角线
diagonalDown 是否绘制左上角到右下角的对角线
diagonal_direction 指定对角线方向
outline 轮廓线
vertical 垂直线
horizontal 水平线

关于side参数:
border_style 线条种类,一般都是"thin",“thick”,"double"等
color 线条颜色

from openpyxl.styles import Border,Side

thin_side = Side(border_style="thin",color="000000")

doule_side = Side(border_style="double",color="FF0000")

b2.border=Border(diagonal=thin_side,diagonalUp=True,diagonalDown=True)
b3.border=Border(left=double_side,top=single_side)

6.文本对齐

openpyxl.styles.Alignment()

参数:
horizonrtal:水平文本
general 常规 centerContinuous 跨列剧中 fill填充
center 剧中 top 顶部对齐 bottom底部对齐 justify两端对齐 distributed 分散对齐
vertical:垂直文本
center 剧中 top 顶部对齐 bottom底部对齐 justify两端对齐 distributed 分散对齐
text_rotation 指定文本旋转角度
wrap_text 是否自动换行
strink_to_fit 是否缩小字体填充
indent 指定缩进

from openpyxl.styles import Alignment

ws.merge_cells('A1:C2')
ws['A1'].value="i love you"
center_alignment=Alignment(horizontal='center',vertical='center')
ws['A1'].alignment=center_alignment

7.命名样式,设置样式模板
(1)实例化一个NamedStyle类
(2)初始化命名样式
(3)注册命名样式到工作簿
(4)将单元格的style属性赋值为命名样式

from openpyxl.styles import NamedStyle

heightlight=NamedStyle(name="heightlight")
heightlight.font=Font(bold=True,Size=20)
heightight.alignment=Alignment(horizontal="center",vertical="center")
wb.add_named_style(heightlight)#注册命名样式到工作簿
ws["A1"].style=heightlight#将单元格的style属性赋值为命名样式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值