As of OpenPyXL 3 (requires Python 3.6+), you no longer have to use iter_rows()
as in stovfl's accepted answer. There's a much easier way to handle entire rows (and columns) buried in the tutorial section Accessing many cells:
for cell in ws[1:1]:
cell.fill = PatternFill(bgColor="FFC7CE", fill_type = "solid")