You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Openpyxl为DataFrame导出的Excel设置表头格式?

实现方法

你需要额外导入openpyxl.styles里的Alignment类用于配置自动换行属性,再定义对应的字体、对齐规则应用到表头单元格即可,完整修改后的代码如下:

from openpyxl.styles import Font, PatternFill, Alignment
from openpyxl import Workbook

wb = Workbook()
ws = wb.active

# 预先定义表头通用样式
# 黑色粗体字体
header_font = Font(bold=True, color="000000")
# 开启自动换行的对齐规则
header_alignment = Alignment(wrap_text=True)

# 原有表头背景色设置(注意你原代码混用了ws和sheet变量,这里统一为ws)
ws['A1'].fill = PatternFill(bgColor="808080", fill_type = "solid") # 灰色
ws['B1'].fill = PatternFill(bgColor="FFC0CB", fill_type = "solid") # 粉色
ws['C1'].fill = PatternFill(bgColor="FFC0CB", fill_type = "solid") # 粉色
ws['D1'].fill = PatternFill(bgColor="add8e6", fill_type = "solid") # 蓝色
ws['E1'].fill = PatternFill(bgColor="add8e6", fill_type = "solid") # 蓝色

# 批量给所有表头单元格应用字体和自动换行样式
header_cell_list = ["A1", "B1", "C1", "D1", "E1"]
for cell_addr in header_cell_list:
    ws[cell_addr].font = header_font
    ws[cell_addr].alignment = header_alignment

# 后续写入数据、保存文件的逻辑照常编写即可

参数说明

  • Font(bold=True, color="000000"):bold参数控制是否为粗体,color参数传入十六进制颜色码,000000对应纯黑色
  • Alignment(wrap_text=True):wrap_text参数设为True即可开启单元格内容自动换行
  • 提前定义公共样式再批量应用,相比逐个单元格重复设置代码更简洁,后续修改样式也更高效

内容的提问来源于stack exchange,提问作者Lynn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:36:03