A designer builds a condensed, generic form of a spreadsheet which is a definition file. This can be designed in Microsoft Excel, following a set of guidelines, or using a high level symbolic language. If required,
HTML files, can be produced directly from the Excel definition file to enable the user to, input parameters using a
web browser. A user defines the various parameters that are to be used for their particular spreadsheet and the
software of the present invention expands the template's rows and columns according to those requirements, working out the effect on the formulae and linked cells as this takes place. Behind the scenes a set of information tables are built, either in memory or in a file, based on the information in the definition file. These tables are processed in a structured way to build the spreadsheet formulae, reference other tables and build any objects required to operate the model. Formulae are copied and / or rebuilt depending on the circumstances in which they will be used. In addition, the
data input areas of the spreadsheet can be separated onto another worksheet to facilitate
usability. Reports and charts can be adjusted to suit the data. Several templates or definitions can be combined into one spreadsheet and other objects, e.g. drop down lists and scrollbars, can be added to enhance
usability. VBA code can also be included to perform complex operations not normally available in a spreadsheet. Definition libraries that describe, or contain a copy of, a part of the model can be added seamlessly, for example, a bar chart with a particular
color scheme or a complicated calculating function. The definition
library can also contain VBA code, which can become part of the finished model and can add to its functionality.