How to freeze entire header row in openpyxl?

Yudhistira Arya picture Yudhistira Arya · Aug 31, 2014 · Viewed 16.4k times · Source

How to freeze entire header row in openpyxl? So far I can only freeze the column:

# only freeze the column (freeze vertically)
cell = ws.cell('{}{}'.format(col, row_idx+1))  
worksheet.freeze_panes = cell

Answer

user3942918 picture user3942918 · Aug 31, 2014

Make sure cell isn't on row one - freeze_panes will freeze rows above the given cell and columns to the left.


Example:

from openpyxl import Workbook

wb = Workbook()
ws = wb.active
c = ws['B2']
ws.freeze_panes = c
wb.save('test.xlsx')

This will give you a blank worksheet with both row 1 and column A frozen.