Formats with no reading order

The system reports that a supplier’s rate is 4.85. The number is real, it came from a real spreadsheet, and nobody can find out what it is the rate of. In the file it sits under a merged header three rows up and to the left of a column label that never made it into the text.

Extraction succeeded. It found every value on the sheet. What it could not find was an order to put them in, because the file does not contain one.

Prose formats have a sequence; these do not

A document written as prose has a defined reading order, even when an extractor infers it badly. There is a right answer, and getting it wrong is a mistake.

Spreadsheets and presentations are different in kind. A sheet is a coordinate space where meaning comes from a cell’s position relative to other cells. A slide is a canvas where meaning comes from a box’s position relative to other boxes. Neither format records a sequence, because neither was ever read as one. An extractor asked to produce a linear stream of text from them is not recovering an order; it is inventing one.

Which means the useful question is not “how do I extract this correctly” but “what is a document here, and what is the smallest unit that still carries its own meaning”.

Spreadsheets: the value is not the content

A cell holds a value. The content is the value plus the labels that explain it, and those labels live somewhere else in the grid.

Flattening a sheet row by row produces a stream of numbers separated by commas. Every number survives. Every number is now unattached to its row label, its column header, its units, its currency, its date range and its sheet name. The result is worse than losing the sheet, because the values remain retrievable and are no longer connected to anything that makes them mean something.

Several specific decisions have to be made, and none of them has a default that works across corpora.

Which sheets. A workbook usually has sheets nobody reads: a lookup table, a scratch tab, a chart source, three years of hidden history. Extracting all of them adds volume and no meaning.

Where the header is. Row one, sometimes. Also row four under a title block, also two stacked rows of merged cells, also down the left-hand side instead of across the top. Assuming row one is a header and being wrong turns the first data row into column names for everything below it.

Formula results versus formula text. A cell containing a calculation can extract as its computed value or as the expression. The expression is not content. It is also what you get from some readers, and a sheet that extracts as a page of cell references looks like a parsing bug when it is a mode.

Hidden rows, filtered rows and cached results. Hidden content is frequently hidden for a reason — draft figures, superseded scenarios, working notes. A stale cached result from a formula that was never recalculated is a wrong number that extracts perfectly.

What one document is. A row, a sheet, or a workbook. A financial model is one document; an export of ten thousand records is ten thousand. Getting this wrong at ingest determines the identity of everything derived from it, and it cannot be revisited without reprocessing.

The mechanism that makes spreadsheet content useful is turning position into words: each value carried along with the header and row label that describe it, so the text says what it is rather than what it equals. That is a transformation, not an extraction, and it needs to know where the headers are.

Slides: boxes on a canvas, in whatever order

A slide deck extracts as text boxes. Three things reliably go wrong.

Order within a slide is layout order, not argument order. Title, then whichever box the reader would have read second — or whichever box was created second, which is often not the same. A slide with a diagram, three callouts and a footnote extracts as a bag of phrases whose sequence is arbitrary.

Slide text is not sentences. It is fragments: noun phrases, single words, numbers with no verb. Each fragment was meaningful in front of a person who was talking. On its own it is a phrase with no claim in it, and it will be retrieved as if it were one.

The content is often in the speaker notes. The notes hold the sentences the slide omitted. Extractors variously include them as body text, append them, or drop them entirely, and which of those happened is usually not recorded anywhere.

Then there is the case that has no textual answer at all: the slide that is one exported image, or a diagram whose labels are graphics. It extracts as a title and nothing else, and it looks like a slide that was genuinely almost empty.

The pipeline

THE PIPELINE — formats with no sequence

  · Sheet with a clean single header row
                    → values carried with their labels, as
                      text that states what each one is.

  · Sheet flattened row by row
                    → FAILS SILENTLY. Every value survives,
                      detached from its header, and stays
                      retrievable and meaningless.

  · Header assumed to be row one when it is
    not
                    → FAILS SILENTLY. Real data becomes
                      column names for the rest of the sheet.

  · Hidden rows and stale cached formula
    results
                    → FAILS SILENTLY. Superseded and
                      never-recalculated numbers extract as
                      cleanly as current ones.

  · Slide with a title and one exported image
                    → nothing extractable. Record as
                      unreadable, not as a short slide.

  · What counts as one document in a workbook
                    → CORPUS-DEPENDENT. A model is one
                      document; an export is thousands.

Deciding what not to ingest

Both formats include a genuine case for exclusion, and it is worth making the decision explicitly rather than by omission.

A workbook that is a calculation tool rather than a record — a model, a scratch sheet, a data-entry form — does not contain prose and does not become useful text by any transformation. A deck that is a visual artefact of a meeting may be similar. Ingesting them adds retrievable fragments that dilute the corpus and answer questions badly.

The alternative that is often better: ingest a description of the file rather than its contents. Title, sheet or slide names, dates, owner, where it lives. The document becomes findable as a thing without its fragments becoming answers. That is a deliberate downgrade, and it needs recording as one so that a coverage count does not read it as a successful ingest.

What this stage hands on

For a sheet: text in which each value appears next to the label that gives it meaning, from the sheets somebody decided were worth reading, with the header location recorded rather than assumed.

For a deck: the fragments, in a stated order, with the notes marked as notes and slides that had no extractable content marked as having none.

In both cases the honest handoff includes an admission. These formats lose something in becoming text, and the loss is not evenly distributed — it falls hardest on exactly the content people search for, which is figures and specifics. Recording which documents came from a format with no reading order is what lets anybody later ask whether a bad answer came from a bad transformation, rather than assuming the text was ever a faithful rendering of the file.