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

使用openpyxl设置冻结加粗表头时遇Font未定义错误

解决openpyxl中Font未定义的NameError问题

你遇到的NameError: name 'Font' is not defined是因为Font类属于openpyxl的styles模块,你没有提前导入就直接使用了,和设置整行还是逐个单元格加粗的写法无关。

修正方法很简单:

  • 在代码最开头添加Font类的导入语句:
from openpyxl.styles import Font

修正后的完整代码示例:

from openpyxl import Workbook
from openpyxl.styles import Font  # 关键导入语句

# 假设你已经完成wb的初始化,比如wb = Workbook() 或者 wb = load_workbook("你的文件.xlsx")
for ws in wb:
    print("Now in sheet: " + ws.title)
    ws['A1'].value = "Name"
    ws['B1'].value = "Client Name"
    ws['C1'].value = "Project Title"
    ws['D1'].value = "Actual Hours"
    ws['E1'].value = "Date"
    ws['F1'].value = "Notes"
    # 整行设置加粗的写法
    myRow = ws.row_dimensions[1]
    myRow.font = Font(bold=True)
    # 若想用逐个单元格设置,取消下面注释即可
    # ws['A1'].font = Font(bold=True)
    # ws['B1'].font = Font(bold=True)
    # ws['C1'].font = Font(bold=True)
    # ws['D1'].font = Font(bold=True)
    # ws['E1'].font = Font(bold=True)
    # ws['F1'].font = Font(bold=True)
    ws.freeze_panes = ws['A2']

# 记得保存修改后的文件
wb.save("你的目标文件路径.xlsx")

补充说明:openpyxl的样式相关类(比如Font、Alignment、Fill等)都需要从openpyxl.styles模块单独导入,不能直接调用,这是新手使用openpyxl时容易踩的坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:45:48