带你走进 @ 机器人时代

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 -


最后,文章有帮助到你的话【点赞在看
激励我们分享更多的干货!