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

使用openpyxl设置Excel列宽报错:Workbook无column_dimensions属性

解决openpyxl设置列宽的AttributeError问题

哦,这个问题我碰到过,你犯了个很常见的小错误——把工作表对象的属性用在了工作簿对象上啦!

错误原因

column_dimensions是Worksheet(也就是你代码里的sheet变量)的专属属性,用来控制单个工作表的列宽。而你现在调用的是wb.column_dimensions,wb是Workbook(工作簿)对象,它本身并没有这个属性,所以才会触发AttributeError: 'Workbook' object has no attribute 'column_dimensions'。

修正后的代码

只需要把操作column_dimensions的对象从wb换成sheet就可以了,另外别忘了最后保存工作簿:

from openpyxl import Workbook
wb = Workbook()
sheet = wb.active
# 改用sheet对象操作column_dimensions
sheet.column_dimensions['A'].width = 25
sheet.column_dimensions['B'].width = 25
sheet["A1"] = "Date"
sheet["B2"] = "Name"
# 保存到文件
wb.save("formatted_sheet.xlsx")

额外小技巧

如果要给多列设置相同宽度,用循环会更高效:

# 批量设置A、B列宽度为25
for col_letter in ['A', 'B']:
    sheet.column_dimensions[col_letter].width = 25

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 18:52:32