I am using python 2.7.10 and openpyxl 2.3.2 and I am new to Python.
I am trying to apply a border to a specified range of cells in an Excel worksheet (e.g., C3:H10). My attempt below does not work with the following message:
AttributeError: The Cell object has no styles attributes.
How do I snap a border to a cell? Any ideas would be greatly appreciated.
My current code is:
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"))
wb = openpyxl.load_workbook('example.xlsx')
ws = wb.get_sheet_by_name('Sheet1')
set_border(ws, "B3:H10")
source
share