from openpyxl.styles import Font, Alignment, Side, Border, PatternFill, GradientFill
from openpyxl import load_workbook

# 只能打开已经存在的表格,不能用该方法创建一个新的表格
workbook = load_workbook(filename=\'test.xlsx\')

# 通过sheet名称获取表格 如果只有一张表,可以直接打开
sheet = workbook.active

# 修改字体样式  bold是否加粗 , italic是否斜体
cell = sheet[\'A1\']
font = Font(name=\'微软雅黑\', size=12, bold=True, italic=True, color=\'5DB23C\')

# 获取表格中字体的样式
cell = sheet[\'A2\']
font = cell.font
print(font.name, font.size, font.bold, font.italic)

# 设置对齐样式  horizontal:水平对齐模式  vertical:垂直对齐模式  text_rotation:旋转角度  wrap_text:是否自动换行
cell = sheet[\'A2\']
alignment = Alignment(horizontal=\'center\', vertical=\'center\', text_rotation=45)
cell.alignment = alignment

# 设置边框样式
cell = sheet[\'A2\']
side = Side(style=\'thin\', color=\'5DB23C\')  # 边线样式  边线颜色
border = Border(left=side, right=side, top=side, bottom=side)
cell.border = border


# 设置填充样式
cell = sheet[\'A2\']
pattern_fill = PatternFill(fill_type=\'solid\', fgColor=\'5DB23C\')  # 填充样式  填充颜色
cell.pattern_fill = pattern_fill
gradient_fill = GradientFill(stop=(\'FFFFFF\', \'99CCFF\', \'000000\'))  # (渐变颜色1,渐变颜色2,渐变颜色3....)
cell.gradient_fill = gradient_fill


# 设置行高和列宽
sheet.row_dimensions[1].height = 50  # 行编号  行高
sheet.column_dimensions[\'B\'].width = 50  # 列编号  列宽

# 合并单元格
sheet.merge_cells(\'C1:D2\')  # 待合并的格子编号
sheet.merge_cells(start_row=7, start_column=1, end_row=8, end_column=4)

# 取消合并单元格
sheet.unmerge_cells(\'C1:D2\')  # 待合并的格子编号
sheet.unmerge_cells(start_row=7, start_column=1, end_row=8, end_column=4)


# 修改后记得保存
workbook.save(filename=\'test.xlsx\')

 

版权声明:本文为nanamiyi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nanamiyi/p/13602606.html