A
system architecture integrates spreadsheet functionality into text. The architecture allows
insertion of discrete individual fields, referred to as “free floating fields”, inline with normal textual sentences. In an
HTML document, for example, the free floating fields are elements constructed along with text elements and rendered together as an integrated document. Once rendered, the free floating fields present contents that resemble normal text consistent with the surrounding text. The free floating fields offer spreadsheet functionality, including the ability to
handle complex formulas, reference values in a separate free floating field or table, and automatically recalculate the formulas when a source value changes. The values and formula results can also be formatted (e.g., numbers, date, times, currency, etc.), like a spreadsheet, while remaining part of the normal text of a document. Underlying the
user interface, the architecture separates data handling functions from presentation functions. The architecture includes a
user interface manager to manage how the free floating fields appear in a document (e.g., selection,
cut, copy, paste, etc.) and to facilitate user entry of formulas and values into the fields. The architecture also has a spreadsheet functionality manager to manage the spreadsheet functions for the free floating fields, such as recalculation, formula handling, sorting, referencing, and the like.