openpyxl-formula-editing · git:20260424.d50cf5a · 2026-04-24 · sha256 a24816543c99e1f0
openpyxl-formula-editing git:20260424.d50cf5aA
Immutable. This exact content never changes and is served at /api/v1/blob/a24816543c99e1f0.
---
name: openpyxl-formula-editing
description: Editing existing Excel files with openpyxl while preserving formatting and adding formulas.
---
# Editing Excel Files with openpyxl (Preserve Formatting)
## Load and Edit
```python
from openpyxl import load_workbook
wb = load_workbook('file.xlsx')
ws = wb['SheetName']
# Write formula to a cell (preserves existing formatting)
ws['H12'] = '=SOME_FORMULA()'
# Iterate over a range
for row in range(12, 18):
for col_letter in ['H', 'I', 'J', 'K', 'L']:
ws[f'{col_letter}{row}'] = f'=FORMULA({col_letter}...)'
wb.save('file.xlsx')
```
## Important Notes
- Assigning a value to a cell preserves its existing formatting (fill, font, borders)
- Formulas are stored as strings starting with '='
- Use `recalc.py` after saving to compute formula values
- Never open with `data_only=True` if you plan to save (destroys formulas)