Claims
- 1. 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; 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 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 at least one of a format of the spreadsheet report to be created and information to be displayed in one or more cells of the spreadsheet report; and 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.
- 2. The method as recited in claim 1, wherein each of the cells of the grid is capable of receiving at least one of a data value, a database field reference, reference to one or more cells within the grid, or formula to be applied to contents of one or more of the plurality of cells.
- 3. The method as recited in claim 1, wherein the report template includes the grid.
- 4. The method as recite in claim 1, wherein the report template includes a subset of the plurality of cells of the grid.
- 5. The method as recited in claim 4, further comprising:
identifying the subset of the plurality of cells of the grid to be included in the report template.
- 6. The method as recited in claim 1, wherein the received information is associated with one or more of the identified database fields for which data is to be obtained from a database.
- 7. The method as recited in claim 1, wherein generating the report template from the received information comprises associating the groups with at least one of the format of the spreadsheet report and information indicating information to be displayed in one or more cells of the spreadsheet report.
- 8. The method as recited in claim 7, wherein the information indicating information to be displayed in one or more cells of the spreadsheet report comprises one or more formulas.
- 9. The method as recited in claim 1, further comprising:
displaying the report template, the report template graphically representing a spreadsheet report.
- 10. The method as recited in claim 9, wherein the spreadsheet report is in an Excel format.
- 11. The method as recited in claim 1, wherein the format of the spreadsheet report to be created comprises formatting of information within one or more of the plurality of cells.
- 12. The method as recited in claim 1, wherein the format comprises one or more headers associated with one or more of the groups.
- 13. The method as recited in claim 1, wherein the information indicating information to be displayed in one or more cells of the spreadsheet report comprises one or more formulas.
- 14. The method as recited in claim 13, wherein each of the formulas includes a reference to one or more of the plurality of cells.
- 15. The method as recited in claim 13, wherein generating the report template from the received information comprises associating each of the formulas with one or more of the groups corresponding to the location of the cells within the grid in which the formulas are placed.
- 16. The method as recited in claim 13, wherein one or more of the formulas refers to one or more virtual cell locations within the grid to which the associated formula is to be applied, each of the one or more virtual cell locations capable of being converted to one or more actual cell locations within the grid corresponding to expected placement of the data when the spreadsheet report is generated.
- 17. The method as recited in claim 16, wherein each of the virtual cell locations is identified by a row identifier and a column identifier.
- 18. The method as recited in claim 16, further comprising:
modifying the reference to the one or more virtual cell locations.
- 19. The method as recited in claim 18, wherein modifying the reference to the one or more virtual cell locations is performed when the relative position of the reference to the one or more virtual cell locations changes.
- 20. The method as recited in claim 19, wherein the reference to the one or more virtual cell locations changes when one or more rows or columns are inserted or deleted.
- 21. The method as recited in claim 16, wherein the one or more virtual cell locations within the grid are distinguished from actual cell references by a predefined symbol.
- 22. The method as recited in claim 16, further comprising:
converting the one or more virtual cell locations to one or more actual cell locations within the grid; and replacing the reference to one or more virtual cell locations with a reference to the one or more actual cell locations.
- 23. The method as recited in claim 22, wherein the converting and replacing steps are performed during generation of a report from the report template using data obtained from a database.
- 24. The method as recited in claim 22, further comprising:
generating a spreadsheet report from the report template using data obtained from a database and the report template.
- 25. The method as recited in claim 24, the method further comprising:
generating a DRML file including the data obtained from the database and the report template.
- 26. The method as recited in claim 25, wherein the DRML file includes a grouping tag identifying one of the groups.
- 27. The method as recited in claim 25, wherein the DRML file includes a virtual name associated with a formula including a reference to one or more virtual cell locations.
- 28. The method as recited in claim 27, wherein the virtual name is the reference to one or more virtual cell locations.
- 29. The method as recited in claim 27, further comprising:
obtaining the formula and the virtual name from the DRML file; and providing the formula in one of the plurality of cells of the spreadsheet report.
- 30. The method as recited in claim 29, wherein the one of the plurality of cells is identified by one or more row and cell tags in the DRML file following the virtual name.
- 31. The method as recited in claim 29, wherein providing the formula is performed prior to converting and replacing the reference to the one or more virtual cell locations.
- 32. The method as recited in claim 29, further comprising:
maintaining a list of virtual references including the reference to one or more virtual cell locations.
- 33. The method as recited in claim 32, wherein the list of virtual references is associated with one of the groups.
- 34. The method as recited in claim 33, wherein converting and replacing the reference to the one or more virtual cell locations is performed when cell data for the one of the groups has been detected in the DRML file.
- 35. The method as recited in claim 34, wherein detecting the end of one of the groups is performed by identifying an end group tag.
- 36. The method as recited in claim 27, further comprising:
maintaining a list of one or more actual references to replace the reference to one or more virtual cell locations.
- 37. The method as recited in claim 36, further comprising:
updating the list to include a cell location associated with the virtual name.
- 38. The method as recited in claim 36, further comprising:
ascertaining the cell location from one or more cell tags and one or more row tags within the DRML file that are associated with the virtual name.
- 39. The method as recited in claim 36, further comprising:
replacing the reference to one or more virtual cell locations in one or more cells in the spreadsheet report with the one or more actual cell references.
- 40. The method as recited in claim 39, wherein replacing the reference is performed when an end group tag is detected in the DRML file.
- 41. The method as recited in claim 22, wherein the converting and replacing steps are performed for each of the formulas including a reference to one or more virtual cell locations.
- 42. The method as recited in claim 22, wherein the converting and replacing steps are performed for each copy of the formula within the grid.
- 43. The method as recited in claim 42, wherein the copy of the formula is placed in one of the plurality of cells corresponding to the expected placement of the data.
- 44. The method as recited in claim 22, wherein the converting and replacing steps are performed for each instance of the formulas.
- 45. The method as recited in claim 22, wherein the converting and replacing steps are performed for each of the formulas corresponding to a sorting order specified in a user database query that identifies the database fields for which the data is to be obtained from the database.
- 46. The method as recited in claim 41, wherein the converting and replacing steps are performed for each of the formulas in a top-down order in the order in which the formulas are found within the report template.
- 47. The method as recited in claim 46, wherein the converting and replacing steps are performed in an order according to the groups with which the formulas are associated.
- 48. The method as recited in claim 16, wherein one or more of the formulas includes a reference to one of the groups that qualifies the virtual cell locations.
- 49. The method as recited in claim 16, wherein the virtual cell locations are each associated with one of the groups corresponding to the location of the corresponding formula within the grid.
- 50. The method as recited in claim 49, further comprising:
moving the formula including the reference to one or more virtual cell locations to another one of the plurality of cells.
- 51. The method as recited in claim 16, wherein one or more of the formulas is not qualified by a group that identifies the virtual cell locations.
- 52. The method as recited in claim 22, wherein the one or more actual cell locations are calculated to designate locations within the spreadsheet report that will exist after the data is obtained from the database.
- 53. The method as recited in claim 1, further comprising:
associating one of the groups with a corresponding set of one or more rows in the report template in response to input from a user.
- 54. The method as recited in claim 1, wherein the one or more database fields are identified in a user query that identifies the database fields for which the data is to be obtained from the database.
- 55. The method as recited in claim 1, further comprising:
creating the spreadsheet report using the report template and the data obtained from the database.
- 56. The method as recited in claim 55, wherein creating the spreadsheet report comprises:
providing the spreadsheet report in the grid in which the report template is displayed.
- 57. The method as recited in claim 56, wherein providing the spreadsheet report is performed simultaneously with displaying the grid in which the report template is displayed.
- 58. The method as recited in claim 57, further comprising:
modifying the report template displayed, thereby enabling an updated spreadsheet report to be generated.
- 59. The method as recited in claim 1, further comprising:
performing a subsequent database query to obtain data from a database; and applying the report template to the obtained data to generate a spreadsheet report.
- 60. The method as recited in claim 1, further comprising:
receiving a selection of the plurality of cells defining the grid.
- 61. The method as recited in claim 1, further comprising:
displaying a guide indicating the groups associated with the corresponding rows of the grid, the guide being displayed adjacent to the grid.
- 62. A computer-readable medium storing thereon computer-readable instructions for 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, comprising:
instructions for displaying the grid; instructions for 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; instructions for associating one or more groups as defined by the one or more database fields with a corresponding set of one or more rows in the grid, thereby associating cells within the set of rows with the corresponding group; instructions for receiving information within one or more of the plurality of cells of the displayed grid, the received information indicating at least one of a format of the spreadsheet report to be created and information to be displayed in one or more cells of the spreadsheet report; and instructions for 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.
- 63. An apparatus for 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, comprising:
a processor; and a memory, at least one of the processor and the memory being adapted for:
displaying the grid; 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 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 at least one of a format of the spreadsheet report to be created and information to be displayed in one or more cells of the spreadsheet report; and 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.
- 64. An apparatus for 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, comprising:
means for displaying the grid; means for 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; means for associating one or more groups as defined by the one or more database fields with a corresponding set of one or more rows in the grid, thereby associating cells within the set of rows with the corresponding group; means for receiving information within one or more of the plurality of cells of the displayed grid, the received information indicating at least one of a format of the spreadsheet report to be created and information to be displayed in one or more cells of the spreadsheet report; and means for 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.
- 65. 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; 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 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 one or more formulas within one or more of the plurality of cells of the displayed grid, wherein at least one of the formulas includes one or more virtual references, the one or more virtual references each referring to one or more virtual cell locations within the grid, each of the one or more virtual cell locations capable of being converted to one or more actual cell locations within the grid corresponding to expected placement of the data when the spreadsheet report is generated; and generating the report template from the received formulas such that one or more of the groups are associated with the received formulas corresponding to placement of the formulas within the grid.
- 66. The method as recited in claim 65, further comprising:
converting the one or more virtual cell locations to one or more actual cell locations within the grid; and replacing the reference to one or more virtual cell locations with a reference to the one or more actual cell locations.
- 67. The method as recited in claim 66, wherein the converting and replacing steps are performed during generation of a report from the report template using data obtained from a database.
- 68. The method as recited in claim 66, further comprising:
generating a spreadsheet report from the report template using data obtained from a database and the report template.
- 69. The method as recited in claim 68, the method further comprising:
generating a DRML file including the data obtained from the database and the report template.
- 70. The method as recited in claim 69, wherein converting and replacing are performed using the DRML file.
RELATED APPLICATIONS
[0001] This application claims priority from Attorney Docket No. ACTUP004P, Ser. No. 60/423,091, entitled “Methods and Apparatus for Generating a Spreadsheet Report Template,” naming B. Killen, et al. as inventors, filed on Oct. 30, 2002, which is incorporated herein by reference in its entirety for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60423091 |
Oct 2002 |
US |