使用openpyxl为Excel整行、整列添加边框的问题咨询
openpyxl整行/整列设置边框解决方案
报错原因
你触发的Worksheet object has no attribute column报错有两个核心问题:
- 拼写错误:openpyxl中获取列集合的属性是
columns(复数),不是单数column - 原生不支持批量赋值:即使修正拼写,也无法直接对整列/整行对象赋值
border属性,所有单元格样式必须逐单元格设置
原代码其他问题
你提供的代码还存在两处可修复问题:
- 缺少
Color类的导入语句:from openpyxl.styles import Color - 语法错误:
top = border 0多了多余空格,应改为top = border0
正确实现代码
整列设置边框(以C列为例)
import openpyxl from openpyxl.styles import borders, Color from openpyxl.styles.borders import Border wb = openpyxl.Workbook() ws = wb.active border1 = borders.Side(style = None, color = Color(indexed = 0), border_style = 'thin') border0 = borders.Side(style = None, color = None, border_style = None) thin = Border(left = border1, right = border0, bottom = border0, top = border0) # 遍历C列所有单元格,逐个设置边框 for cell in ws['C']: cell.border = thin wb.save("test.xlsx")
整行设置边框(以第3行为例)
# 遍历第3行所有单元格,逐个设置边框 for cell in ws[3]: cell.border = thin
如果需要给指定范围的未使用单元格也设置样式,可以手动指定行/列的遍历范围,不需要依赖自动识别的已使用区域。
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

