欢迎访问宙启技术站
智能推送

表格中不同行、列的样式设置(TableStyle)

发布时间:2023-12-24 10:25:14

表格中不同行、列的样式设置是通过TableStyle实现的。TableStyle定义了表格的样式属性,可以指定不同行、列的样式,如背景颜色、字体颜色、边框样式等。下面是一个使用例子:

import openpyxl
from openpyxl.styles import TableStyle, PatternFill, Font, Border, Side

# 读取Excel文件
wb = openpyxl.load_workbook("example.xlsx")
sheet = wb.active

# 创建表格样式
table_style = TableStyle(name="MyTableStyle")

# 设置表头样式
header_fill = PatternFill(fill_type="solid", fgColor="C0C0C0")
header_font = Font(color="FFFFFF", bold=True)
header_border = Border(bottom=Side(border_style="thin"))

table_style.add_column(0, 0, style=header_font)  # 设置      列字体样式
table_style.add_column(0, sheet.max_column-1, style=header_fill)  # 设置表头背景颜色
table_style.add_column(0, sheet.max_column-1, style=header_border)  # 设置表头边框样式

# 设置数据行样式
data_fill = PatternFill(fill_type="solid", fgColor="FFFFFF")
data_font = Font(color="000000")

for row in sheet.iter_rows(min_row=2):
    table_style.add_column(row[0], row[-1], style=data_fill)  # 设置每行背景颜色
    table_style.add_column(row[0], row[-1], style=data_font)  # 设置每行字体颜色

# 应用表格样式
sheet._table_styles.append(table_style)

# 保存Excel文件
wb.save("example.xlsx")

上面的代码首先读取了一个名为"example.xlsx"的Excel文件,并获取了活动工作表。然后创建了一个名为"MyTableStyle"的表格样式。接着设置了表头样式,包括字体样式、背景颜色和边框样式。然后设置了数据行的样式,即每行的背景颜色和字体颜色。最后,将表格样式应用到工作表中,然后保存Excel文件。

通过以上代码,我们可以根据需求自定义表格的样式,包括表头和数据行的样式设置,从而创建出符合要求的表格。