我正在使用python 2.7.10和openpyxl2.3.2,我是一个python新手。
我正在尝试将边框应用于Excel工作表中指定范围的单元格(例如C3:H10
)。我在下面的尝试失败,并显示以下消息:
AttributeError: 'Cell' object has no attribute 'styles'.
如何将边框附加到单元格?如有任何见解,将不胜感激。
我的当前代码:
import openpyxl
from openpyxl.styles import Border, Side
def set_border(ws, cell_range):
rows = ws.iter_rows(cell_range)
for row in rows:
row[0].styles.borders = Border(left=Side(border_style='thin', color="FF000000"))
row[-1].styles.borders = Border(right=Side(border_style='thin', color="FF000000"))
for c in rows[0]:
c.styles.borders = Border(top=Side(border_style='thin', color="FF000000"))
for c in rows[-1]:
c.styles.borders = Border(bottom=Side(border_style='thin', color="FF000000"))
# Example call to set_border
wb = openpyxl.load_workbook('example.xlsx')
ws = wb.get_sheet_by_name('Sheet1')
set_border(ws, "B3:H10")
首先,属性称为
style
(不是styles
)和border
(不是borders
)。也要更改边框,您应该直接设置cell.border
。除了边界逻辑有一些问题外,由于迭代器和角点的存在,要使边界逻辑正常工作更为复杂。下面是一个粗略的版本(它尽可能简单,但不是内存高效的):
可替换为:
你的回答帮了我。。。
相关问题 更多 >
编程相关推荐