Patent ID: 7370271

Claim:
A method of generating a report template from a grid having a plurality of cells, the report template being adapted for creating a spreadsheet report having a plurality of cells using data obtained from a database, the method comprising: displaying the grid such that the grid operates as a user interface; identifying one or more database fields for which data is to be obtained from a database, each of the one or more database fields being associated with a separate group with which one or more rows in the grid can be associated; associating one or more groups as defined by the one or more database fields of the database with a corresponding set of one or more rows in the grid, thereby associating cells within the set of rows with the corresponding group; receiving information within one or more of the plurality of cells of the displayed grid, the received information indicating information to be displayed in one or more cells of the spreadsheet report, wherein the information indicating information to be displayed in one or more cells of the spreadsheet report includes one or more formulas, wherein one or more of the formulas refers to one or more virtual cell locations within the grid; generating the report template from the received information such that one or more of the groups are associated with the received information corresponding to placement of the received information within the grid; and automatically converting each of the one or more virtual cell locations to one or more actual cell locations within the grid when the spreadsheet report is generated from the report template using the data obtained from the database, thereby enabling the formula to be applied to data in the actual cell locations; wherein the actual cell locations correspond to expected placement of the data when the spreadsheet report is generated from the report template using the data obtained from the database; wherein the one or more virtual cell locations identifies a first set of one or more cells in the grid and the one or more actual cell locations identifies a second set of one or more cells in the grid, wherein first set of one or more cells in the grid is different from the second set of one or more cells in the grid; wherein each of the formulas is not applied to the corresponding first set of one or more cells in the grid to calculate a numerical value.