Paper Office
paper-xlsxAPI referencepreserve.structural

openpyxl.preserve.structural

paper-xlsx 0.2.1 API reference

Analyze what a row/column shift would strand.

The scariest damage in the model is here: insert_rows moves cells while updating NOTHING — not formulas, not defined names, not chart ranges — so one inserted row silently corrupts every SUM below it with numbers that look plausible (measured: LibreOffice computes 1100/6399/5400 where the correct answers are 7499/6500). Under preserve mode the shift refuses with the precise list of what would break; the stock path keeps stock behavior plus a loud warning.

EXCEL_MAX_COL

attributeEXCEL_MAX_COL
= 16384

EXCEL_MAX_ROW

attributeEXCEL_MAX_ROW
= 1048576

MAX_COL

attributeMAX_COL
= 1 << 20

MAX_ROW

attributeMAX_ROW
= 1 << 22

STOCK_WARNING

attributeSTOCK_WARNING
= '{0}() moves cells but updates NOTHING that points at them: formulas keep their old ranges, defined names and chart series keep their old cells — the numbers that come out will look plausible and be wrong. Open the file with preserve=True to get a safety analysis instead.'

On this page