Rows before the first header are parsed by a layout inferred from those rows
(the header's indices may not match them); the header is written first.
Without any header the layout is inferred from all rows and a header with
code and name and empty period texts is created. Value columns: amounts
outnumber junk or the column is fully empty.
Refs #6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Column indices for label, code and values are taken from the header row
(cell «Код») instead of fixed positions 0/1/2+. Every repeated header
overwrites the layout. Value column_index is normalized to 2..n, missing
cells become empty unrecognized values, tables without a header are skipped
with a warning.
Refs #6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>