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= 16384EXCEL_MAX_ROW
attributeEXCEL_MAX_ROW= 1048576MAX_COL
attributeMAX_COL= 1 << 20MAX_ROW
attributeMAX_ROW= 1 << 22STOCK_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.'