Using a spreadsheet engine as a server-side calculation model
First Claim
1. A computer system, comprising:
- a processor; and
a computer readable storage medium having stored thereon software executable by the processor, the software comprising;
a spreadsheet parser configured to parse an electronic spreadsheet file to identify a calculation model implemented by the electronic spreadsheet file, identify formulas within the electronic spreadsheet file including identifying which input and output cells of the formulas correspond to or are used to hold input and output values for the formulas, and determine relationships between the input cells, output cells, and the formulas, wherein the spreadsheet parser is further configured to determine which of the input cells and output cells hold primary and intermediate values and based on the determination consolidating the formulas, and wherein the calculation model specifies how input values are to be processed and how the formulas are processed;
an input interface configured to receive, from a business application, a set of data in a structured format, wherein the structured format comprises information specifying how the set of data relates to the calculation model;
a spreadsheet emulator comprising a calculation engine configured to process the data according to the calculation model; and
an output interface configured to output a result from the calculation engine, wherein the result comprises one or more data elements that represent values obtained by processing the data and the formulas according to the calculation model.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure is directed to novel solutions for processing data in a manner similar to that employed by traditional spreadsheet applications (including, merely by way of example, evaluating expressions, producing reports and the like) without the need for a spreadsheet application. In an aspect, a spreadsheet calculation engine might be emulated in a Java environment, allowing for enhanced data input/output flexibility while still maintaining the ease with which traditional spreadsheet applications allow users to design a calculation model. In another aspect, the spreadsheet engine might be provided on a web server, database server and/or application server, allowing for data (including, for instance, reports comprising data processed and/or produced by the spreadsheet calculation engine) to be published easily (and, in some cases dynamically) on the web.
-
Citations
19 Claims
-
1. A computer system, comprising:
-
a processor; and a computer readable storage medium having stored thereon software executable by the processor, the software comprising; a spreadsheet parser configured to parse an electronic spreadsheet file to identify a calculation model implemented by the electronic spreadsheet file, identify formulas within the electronic spreadsheet file including identifying which input and output cells of the formulas correspond to or are used to hold input and output values for the formulas, and determine relationships between the input cells, output cells, and the formulas, wherein the spreadsheet parser is further configured to determine which of the input cells and output cells hold primary and intermediate values and based on the determination consolidating the formulas, and wherein the calculation model specifies how input values are to be processed and how the formulas are processed; an input interface configured to receive, from a business application, a set of data in a structured format, wherein the structured format comprises information specifying how the set of data relates to the calculation model; a spreadsheet emulator comprising a calculation engine configured to process the data according to the calculation model; and an output interface configured to output a result from the calculation engine, wherein the result comprises one or more data elements that represent values obtained by processing the data and the formulas according to the calculation model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
receiving, at a computer system, an electronic spreadsheet file comprising a calculation model specifying how input values to the spreadsheet are to be processed; parsing the electronic spreadsheet file with the computer system to identify the calculation model; identifying formulas within the electronic spreadsheet file including identifying which input and output cells of the formulas correspond to or are used to hold input and output values for the formulas, and determine relationships between the input cells, output cells, and the formulas; determining which of the input cells and output cells hold primary and intermediate values and based on the determination consolidating the formulas; implementing the calculation model in a spreadsheet emulator on the computer system, the spreadsheet emulator comprising a calculation engine; receiving, from a business application, a set of data in a structured format, the set of data comprising a set of one or more input values and how the formulas are processed for the calculation model, and the structured format comprising information specifying how the set of data relates to the calculation model; processing the set of data with the calculation engine on the computer system to produce a result comprising a set of one or more data elements; and outputting at least a portion of the set of one or more data elements and the formulas in a portable format. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program embodied on a computer readable storage medium, the computer program comprising a set of instructions executable by one or more computers, the set of instructions comprising:
-
instructions to receive an electronic spreadsheet file comprising a calculation model specifying how input values to the spreadsheet are to be processed; instructions to parse the electronic spreadsheet file with a computer to identify the calculation model; instructions to identify formulas within the electronic spreadsheet file including identifying which input and output cells of the formulas correspond to or are used to hold input and output values for the formulas, and determine relationships between the input cells, output cells, and the formulas; instructions to determine which of the input cells and output cells hold primary and intermediate values and based on the determination consolidating the formulas; instructions to implement the calculation model in a spreadsheet emulator comprising a calculation engine; instructions to receive, from a business application, a set of data in a structured format, the set of data comprising a set of one or more input values and how the formulas are processed for the calculation model, and the structured format comprising information specifying how the set of data relates to the calculation model; instructions to process the set of data with the calculation engine to produce a result comprising a set of one or more data elements; and instructions to output at least a portion of the set of one or more data elements and the formulas in a portable format.
-
Specification