已经设置了字体、边框、对齐方式,但是结果字体和对齐方式生效了,边框一直没有生效。打开生成的excel内容,边框是透明的。
详情见如下代码:
from openpyxl.styles import Alignment,Font,Side,Border,colors
def set_display(path,sheet_name,row_len,col_len):
workbook = load_workbook(path)
worksheet = workbook[sheet_name]
# 设置字体格式
text_font = Font(
name='华文楷体',
size=11,
bold = False
)
bor = Border(top=Side(border_style='thick', style='thick', color=colors.BLACK),
bottom=Side(border_style='thick', style='thick', color=colors.BLACK),
left=Side(border_style='thick', style='thick', color=colors.BLACK),
right=Side(border_style='thick', style='thick', color=colors.BLACK))
# 对齐方式设置为居中
alignment = Alignment(horizontal='center', vertical='center')
# 设置每列都居中
# for row in worksheet.iter_rows(min_row=1,max_row=row_len+3,min_col=1,max_col=col_len+1):
for row in worksheet.iter_rows():
for cell in row:
cell.alignment = alignment
cell.font = text_font
cell.border = bor
print('已设置border')
workbook.save(path)
workbook.close()
如上代码运行结果如下图,字体和居中都成功了,但是边框并不是黑色的!:
试了其他的几种边框写法也是不行
例如去掉了border_style
bor = Border(top=Side(style='thick', color=colors.BLACK),
bottom=Side(style='thick', color=colors.BLACK),
left=Side(style='thick', color=colors.BLACK),
right=Side(style='thick', color=colors.BLACK))
例如单独生成side,再在Border里引用
side = Side(style='thick', color='00000000')
bor = Border(top=side, bottom=side, left=side, right=side)