Using a spreadsheet engine as a server-side calculation model
First Claim
1. A computer system, comprising:
- a spreadsheet parser configured to parse an electronic spreadsheet file to identify a calculation model implemented by the electronic spreadsheet file, wherein the calculation model specifies how input values are to be processed;
an input interface configured to receive 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 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
25 Claims
-
1. A computer system, comprising:
-
a spreadsheet parser configured to parse an electronic spreadsheet file to identify a calculation model implemented by the electronic spreadsheet file, wherein the calculation model specifies how input values are to be processed;
an input interface configured to receive 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 according to the calculation model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
receiving 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 a computer to identify the calculation model;
implementing the calculation model in a spreadsheet emulator comprising a calculation engine;
receiving a set of data comprising a set of one or more input values for the calculation model;
processing the set of data with the calculation engine 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 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 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 implement the calculation model in a spreadsheet emulator comprising a calculation engine;
instructions to receive a set of data comprising a set of one or more input values for 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 in a portable format.
-
-
20. A method comprising:
-
receiving, at a computer, an electronic spreadsheet file comprising a) a set of data including one or more example data elements, each of the data elements being represented by an example cell identifier; and
b) one or more formulas configured to use at least one of the example data elements as input;
parsing, with the computer, the electronic spreadsheet file to identify one or more relationships between the one or more formulas and one or more example cell identifiers representing the example data elements used as input by the one or more formulas;
generating a calculation model configured to replicate the one or more formulas with respect to the one or more cell identifiers, wherein the calculation model is generated independent of a spreadsheet application; and
implementing the calculation model in a spreadsheet emulator comprising a calculation engine. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A system, comprising:
-
a processor; and
a computer readable medium comprising a set of instructions executable by the processor, the set of instructions comprising;
a) instructions to receive an electronic spreadsheet file comprising;
i) a set of data including one or more example data elements, each of the data elements being represented by an example cell identifier; and
ii) one or more formulas configured to use at least one of the example data elements as input;
b) instructions to parse the electronic spreadsheet file to identify one or more relationships between the one or more formulas and one or more example cell identifiers representing the example data elements used as input by the one or more formulas;
c) instructions to generate a calculation model configured to replicate the one or more formulas with respect to the one or more cell identifiers, wherein the calculation model is generated independent of a spreadsheet application; and
d) instructions to implement the calculation model in a spreadsheet emulator comprising a calculation engine;
e) instructions to receive a set of data comprising a set of input values for the calculation model;
f) instructions to process the set of data with the calculation engine to produce a result comprising a set of one or more data elements;
g) output at least a portion of the set of one or more data elements in a portable format.
-
Specification