BL-16818 Tables 6/6: spreadsheet export and import - #8330
Open
hatton wants to merge 2 commits into
Open
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.csholds 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