Skip to content

Move or copy self-contained worksheets between workbooks - #1803

Open
derechopiano wants to merge 1 commit into
storytold:mainfrom
derechopiano:feat/sheet-transfer-1739
Open

derechopiano wants to merge 1 commit into
storytold:mainfrom
derechopiano:feat/sheet-transfer-1739

Conversation

@derechopiano

Copy link
Copy Markdown
Contributor

Adds an open-workbook picker and a new-workbook destination to Move or Copy. A self-contained worksheet transfers with its cell data, formulas, formatting, ordinary tables and supported sheet features. Sheet-name collisions are resolved without rebinding self-references to an unrelated destination sheet.

Transfers validate first, then publish the results. Styles are interned into the destination, local names and required workbook names are imported, and tables receive new ids. A move has linked undo/redo entries in both documents: later edits or a closed participant prevent a partial undo.

This is deliberately a safe first implementation, not cross-workbook formula-link infrastructure. Transfers requiring unsupported links, conflicting names, different date systems/themes, VBA, retained package content, connected/XML tables, PivotTables or slicers are refused with an error. Moving data used by another source report is also refused. Neither file is saved automatically. Full scope and command parameters are in docs/sheet-transfer.md.

Validation:

  • Original destination-selection and invalid-destination regressions failed on main before implementation.
  • 17 engine regression tests and two UI tests passed (including both light/dark picker cases). Engine/UI all-target Clippy passed with warnings denied.
  • Light/dark offscreen screenshots inspected; picker controls are readable and fit.
  • Required full cargo xtask ci: all eight stages passed (fmt, Clippy, workspace tests, assets, layers, WASM, parity and keytips). The successful run includes local-loopback tests outside the agent sandbox.

Related work: #171 proposes separate workbook windows and #662 scopes UI state by workbook. This PR uses the current Session document model and stable document uids; cross-window document ownership will need reconciliation if #171 lands first. It does not duplicate that window-management work.

Related to #1739. Unsupported workbook-link cases are intentionally left for follow-up rather than silently damaging formulas or dropping content.

This branch has not been deployed

No deployments
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