Skip to content

BL-16818 Tables 6/6: spreadsheet export and import - #8330

Open
hatton wants to merge 2 commits into
BL-16818-e2e-testsfrom
BL-16818-spreadsheet-tables
Open

BL-16818 Tables 6/6: spreadsheet export and import#8330
hatton wants to merge 2 commits into
BL-16818-e2e-testsfrom
BL-16818-spreadsheet-tables

Conversation

@hatton

@hatton hatton commented Sep 7, 2026

Copy link
Copy Markdown
Member

Last of six stacked PRs splitting #8315. Base is BL-16818-e2e-tests (#8329). Nothing here touches anything the earlier five changed, so it could equally be reviewed first.

A table survives the round trip out to a spreadsheet and back. SpreadsheetTables.cs holds the whole of the table-specific reading and writing, so the exporter and importer gain little more than the calls into it. A table becomes a [table] row carrying its shape and sizing, followed by one row per table row, and comes back as the same table: cells keep their content type, their pictures and their videos, and a nested table comes back nested.

The half worth reading closely is what happens when a spreadsheet is wrong. An unreadable [details] cell leaves the table it names alone rather than half-importing it, and an unreadable [table] row adds no page at all, so a hand-edited sheet cannot quietly cost a person a page of their book.

Half the diff is SpreadsheetTableTests.cs.

Checks

build/agent-dotnet.sh test --filter "FullyQualifiedName~Spreadsheet": 427 passed, 0 failed.

[Claude Opus 5 following a prompt from Hatton]

Devin review


This change is Reviewable

Last of six PRs splitting BL-16818. A table survives the round trip out to a
spreadsheet and back.

SpreadsheetTables holds the whole of the table-specific reading and writing,
so the exporter and importer gain little more than the calls into it. A
table becomes a [table] row carrying its shape and sizing, followed by one
row per table row, and comes back as the same table: cells keep their
content type, their pictures and their videos, and a nested table comes back
nested.

The half of this worth reading is what happens when a spreadsheet is wrong.
An unreadable [details] cell leaves the table it names alone rather than
half-importing it, and an unreadable [table] row adds no page at all, so a
hand-edited sheet cannot quietly cost a person a page of their book.

Half the diff is SpreadsheetTableTests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant