带你走进 @ 机器人时代
Discover 点击上面蓝色文字,关注我们
Python openpyxl库操作单元格内容对齐需要用到Alignment对象,使用前从styles子模块中引用即可,如下代码:
from openpyxl import load_workbook
from openpyxl.styles import Alignment
path='test1.xlsx'
wb=load_workbook(path)
ws=wb['第一个表']
#定位一个单元格
c=ws['B4']
#设置单元格的对齐方式
c.alignment=Alignment(horizontal='right',vertical='center')
wb.save('test1.xlsx')
运行后,得到结果:
B4单元格的对齐方式变成了,右对齐,上下居中。这里horizontal属性的参数值如下:
对齐方式 | 参数值 |
常规 | general |
靠左 | left |
靠右 | right |
居中 | center |
填充 | fill |
两端对齐 | justify |
跨列居中 | centerContinuous |
分散对齐 | distributed |
vertical属性的参数值如下:
对齐方式 | 参数值 |
居中 | center |
向上 | top |
向下 | bottom |
分散对齐 | distributed |
两端对齐 | justify |
值得注意的是,Alignment对象操作单元格只能一个一个地操作,如果需要设置区域单元格,还是需要使用for循环来实现。
from openpyxl import load_workbook
from openpyxl.styles import Alignment
path='test1.xlsx'
wb=load_workbook(path)
ws=wb['第一个表']
#定位区域单元格
c=ws['B2:E8']
for i in c:
for j in i:
#设置单元格的对齐方式
j.alignment=Alignment(horizontal='right',vertical='center')
wb.save('test1.xlsx')
运行后,我们得到如下结果:
如果要设置单元格的边框,我们要用到Side对象和Border对象。
from openpyxl import load_workbook
from openpyxl.styles import Border,Side
path='test1.xlsx'
wb=load_workbook(path)
ws=wb['第一个表']
#定位单元格
c=ws['B2']
#设置一个样式:粗实线
s1=Side(border_style='thick',color='0000DD')
#设置另外一个样式:点划线
s2=Side(border_style='dashDot',color='FF0000')
#应用样式到单元格
c.border=Border(left=s1,right=s1,top=s2,bottom=s2)
wb.save('test1.xlsx')
运行后,我们可以看到如下结果:
如果要设置单元格区域,也是同样的道理,使用FOR循环来实现:
from openpyxl import load_workbook
from openpyxl.styles import Border,Side
path='test1.xlsx'
wb=load_workbook(path)
ws=wb['第一个表']
#定位单元格
c=ws['B2:G8']
#设置一个样式:粗实线
s1=Side(border_style='thick',color='0000DD')
#设置另外一个样式:点划线
s2=Side(border_style='dashDot',color='FF0000')
#应用样式到单元格
for i in c:
for j in i:
j.border=Border(left=s1,right=s1,top=s2,bottom=s2)
wb.save('test1.xlsx')
运行后得到如下效果:
注意,指定边框的线型有以下参数:
参数 | 线型 |
thick | 粗实线 |
dashDot | 点划线 |
double | 双划线 |
mediumDashDotDot | 其他点划线(粗) |
slantDashDot | 其他点划线(粗) |
dashDotDot | 点划线(细) |
thin | 细实线 |
hair | 细虚线 |
dotted | 虚线 |
大家可以自行测试一下。
继续坚持学习,每天都能进步一点!!!
往期回顾:
- 来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!
- 不要嫌你现在的工作很累,可能你离失业不远了!
- 作为旅游行业的一个小老板,我受够了!这是要被淘汰的节奏吗?
本文引用和摘录相关内容,请联系侵删。
- END -
最后,文章有帮助到你的话【点赞在看】
激励我们分享更多的干货!
