对比Excel学openpyxl系列之设置excel对齐方式

设置对齐方式

基本的对齐方式设置是指除单元格合并以外的其他对齐相关设置。
在excel中:
在这里插入图片描述
在 Python 中 , 要 对 单 元 格 进 行 对 齐 设 置 时 , 需 要 用 到Alignment()函数,该函数的具体参数如下。
在这里插入图片描述

  • horizontal参数用来设置水平方向的对齐类型,该参数可选的参数值及对应的对齐方式如图在这里插入图片描述
  • vertical参数用来设置垂直方向的对齐类型,该参数可选的参数值及对应的对齐方式如图在这里插入图片描述
  • text_rotation参数用来设置文本旋转的角度,直接传入具体的角度值即可。
  • wrap_text参数用来设置文本是否自动换行,参数值为True时自动换行,为False时不自动换行,默认为False。
  • shrink_to_fit参数用来设置文本是否需要自适应,自适应是指单元格中的文本根据单元格的大小自行调整文本字体的大小,以适应单元格的大小。
  • indent参数用来设置缩进字符,直接传入要缩进的字符数即可。
  • 如果要对某个单元格进行对齐设置,则只需要让这个单元格的alignment属性等于Alignment()函数,并在Alignment()函数中指明具体的设置参数
from openpyxl import Workbook
from openpyxl.styles import Alignment
wb=Workbook()
ws=wb.active
ws['B3']='左对齐'
a1=ws['B3']
a1.alignment=Alignment(horizontal='left1')
wb.save(r'C:\Users\mac\Desktop\test7.xlsx')

其他参数
‘right’,:右对齐
‘general’,:一般对齐
‘distributed’:分散对齐
‘left’, :左对齐
‘center’,:居中对齐
‘fill’, 填满对齐
‘justify’, :两段对齐
‘centerContinuous’:
在这里插入图片描述

from openpyxl import Workbook
from openpyxl.styles import Alignment
wb=Workbook()
ws=wb.active
ws['B3']='上部对齐'
a1=ws['B3']
a1.alignment=Alignment(vertical='top')
wb.save(r'C:\Users\mac\Desktop\test7.xlsx')

‘distributed’,
‘center’, :居中对齐
‘bottom’, 底部对齐
‘top’, 上部对齐
‘justify’

from openpyxl import Workbook
from openpyxl.styles import Alignment
wb=Workbook()
ws=wb.active
ws['A1']='旋转30度'
a1=ws['A1']
a1.alignment=Alignment(text_rotation=30)

ws['B1']='我不换行我不换行'

ws['C1']='我不换行我不换行'
a2=ws['C1']
a2.alignment=Alignment(wrap_text=True)

ws['D1']='自适应大小自适应大小'
a3=ws['D1']
a3.alignment=Alignment(shrink_to_fit=True)

ws['E1']='缩进两个字符'
a4=ws['E1']
a4.alignment=Alignment(indent=2)
wb.save(r'C:\Users\mac\Desktop\test8.xlsx')

在这里插入图片描述

合并与解除单元格

在 Python 中 , 如 果 要 对 单 元 格 进 行 合 并 , 则 需 要 用 到merge_cells()函数,取消合并单元格,unmerge_cells()函数。

from openpyxl import Workbook

wb=Workbook()
ws=wb.active
ws['A2']='合并单元格哇合并单元格'
ws.merge_cells('A2:E2') #合并单元格
ws.unmerge_cells('A2:E2')#取消合并单元格
wb.save(r'C:\Users\mac\Desktop\test9.xlsx')

设置合并单元格样式

可以将合并之后的单元格进行样式修改,相关代码看往期单元格样式

猜你喜欢

转载自blog.csdn.net/weixin_41867184/article/details/125546360