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

Python设置Excel样式与字号报错求助:AttributeError无法设置属性

解决OpenPyXL设置单元格字体时的AttributeError问题

我来帮你分析这个错误的原因,以及对应的修复方案:

错误根源

你碰到的AttributeError: can't set attribute,核心问题出在获取工作表的方式上:wb.get_sheet_by_name('Sheet')这个方法在新版本的openpyxl中已经被弃用了,它返回的工作表对象处于只读状态,导致你无法修改单元格的font属性。

虽然新创建的Workbook默认工作表确实叫Sheet,但弃用的方法在兼容性上存在缺陷,这就是你无法设置字体样式的根本原因。

修正后的代码

把获取工作表的方式换成wb.active(获取当前激活的工作表,新创建的Workbook默认就是Sheet)或者直接用wb['Sheet'],就能正常设置字体了:

import openpyxl
from openpyxl.styles import Font

wb = openpyxl.Workbook()
# 替换弃用的get_sheet_by_name,改用active或直接通过名称获取
sheet = wb.active  # 或者 sheet = wb['Sheet']
italic24Font = Font(size=24, italic=True)
sheet['A1'].font = italic24Font
sheet['A1'] = 'Hello world!'
wb.save('styled.xlsx')

额外建议

如果修改后还是有问题,可以先升级你的openpyxl版本,确保使用最新稳定版:

pip install --upgrade openpyxl

这样调整后,代码应该就能正常运行,生成带有24号斜体字体的Excel文件了。

内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:51:10