An architecture integrates spreadsheet functionality into tables commonly
used in word processing programs and HTML documents. The architecture
presents a table user interface (UI) that resembles a table when not
being edited and adds spreadsheet elements to the table when being
edited. Underlying the table UI, the architecture separates data handling
functions from presentation functions. The architecture includes a table
appearance manager to manage how the table appears in a document
including such characteristics as table resizing, selection, cut, copy,
paste, split, merge, table formatting and so on. The architecture also
has a spreadsheet functionality manager to manage the spreadsheet
functions for the table, such as recalculation, formula handling,
sorting, referencing, and the like. The bifurcated architecture supports
cross-table referencing, reference editing, automatic universal
recalculation throughout all tables in the document, and nested table
structures in which one table is nested within a cell of another table.