Automatic translation of spreadsheets into scripts
First Claim
1. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:
- accessing one or more electronic spreadsheets, the one or more electronic spreadsheets containing one or more data arrays and one or more formula arrays, wherein the one or more electronic spreadsheets implement one or more logic using the one or more data arrays and the one or more formula arrays;
determining one or more ranges of the formula arrays, the determining further comprising;
determining at least one set of cells in the electronic spreadsheet that each include a same formula, wherein the formula in each cell of the least one set of cells includes a cell reference that differs by a value of one from a cell reference in an adjacent cell of the at least one set of cells; and
identifying the set of cells as a range of a first formula array;
determining one or more ranges of the data arrays based on the one or more ranges of the formula arrays, the determining further comprising;
determining that one or more cells included in the set of cells corresponding to the range of the first formula array reference a set of different cells in the electronic spreadsheet;
determining that each cell in the set of different cells corresponds to a cell reference that differs by a value of one from another cell in the set of different cells that is adjacent to the cell in the electronic spreadsheet; and
identifying the set of different cells as a range of a first data array;
determining conversion ranges based on the one or more ranges of the formula arrays and the one or more ranges of the data arrays;
determining one or more dependencies between the conversion ranges; and
generating source code based on the conversion ranges and the one or more dependencies between the conversion ranges, the source code modeling the one or more logic implemented by the one or more electronic spreadsheets.
9 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for automatically translating one or more electronic spreadsheets into scripts. One or more electronic spreadsheets containing data arrays and formula arrays may be accessed. The electronic spreadsheet(s) may implement various logic using the data arrays and the formula arrays. The range(s) of the formula arrays may be determined. The range(s) of the data arrays may be determined based on the range(s) of the formula arrays. Conversion ranges may be determined based on the range(s) of formula arrays and the range(s) of data arrays. One or more dependencies between the conversion ranges may be determined and used to generate source code modeling the logic implemented by the electronic spreadsheet(s).
173 Citations
20 Claims
-
1. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:
-
accessing one or more electronic spreadsheets, the one or more electronic spreadsheets containing one or more data arrays and one or more formula arrays, wherein the one or more electronic spreadsheets implement one or more logic using the one or more data arrays and the one or more formula arrays; determining one or more ranges of the formula arrays, the determining further comprising; determining at least one set of cells in the electronic spreadsheet that each include a same formula, wherein the formula in each cell of the least one set of cells includes a cell reference that differs by a value of one from a cell reference in an adjacent cell of the at least one set of cells; and identifying the set of cells as a range of a first formula array; determining one or more ranges of the data arrays based on the one or more ranges of the formula arrays, the determining further comprising; determining that one or more cells included in the set of cells corresponding to the range of the first formula array reference a set of different cells in the electronic spreadsheet; determining that each cell in the set of different cells corresponds to a cell reference that differs by a value of one from another cell in the set of different cells that is adjacent to the cell in the electronic spreadsheet; and identifying the set of different cells as a range of a first data array; determining conversion ranges based on the one or more ranges of the formula arrays and the one or more ranges of the data arrays; determining one or more dependencies between the conversion ranges; and generating source code based on the conversion ranges and the one or more dependencies between the conversion ranges, the source code modeling the one or more logic implemented by the one or more electronic spreadsheets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
one or more physical processors; and a memory storing instructions that, when executed by the one or more physical processors, cause the system to perform; accessing one or more electronic spreadsheets, the one or more electronic spreadsheets containing one or more data arrays and one or more formula arrays, wherein the one or more electronic spreadsheets implement one or more logic using the one or more data arrays and the one or more formula arrays; determining one or more ranges of the formula arrays, the determining further comprising; determining at least one set of cells in the electronic spreadsheet that each include a same formula, wherein the formula in each cell of the least one set of cells includes a cell reference that differs by a value of one from a cell reference in an adjacent cell of the at least one set of cells; and identifying the set of cells as a range of a first formula array; determining one or more ranges of the data arrays based on the one or more ranges of the formula arrays, the determining further comprising; determining that one or more cells included in the set of cells corresponding to the range of the first formula array reference a set of different cells in the electronic spreadsheet; determining that each cell in the set of different cells corresponds to a cell reference that differs by a value of one from another cell in the set of different cells that is adjacent to the cell in the electronic spreadsheet; and identifying the set of different cells as a range of a first data array; determining conversion ranges based on the one or more ranges of the formula arrays and the one or more ranges of the data arrays; determining one or more dependencies between the conversion ranges; and generating source code based on the conversion ranges and the one or more dependencies between the conversion ranges, the source code modeling the one or more logic implemented by the one or more electronic spreadsheets. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:
-
accessing one or more electronic spreadsheets, the one or more electronic spreadsheets containing one or more data arrays and one or more formula arrays, wherein the one or more electronic spreadsheets implement one or more logic using the one or more data arrays and the one or more formula arrays; determining one or more ranges of the formula arrays, the determining further comprising; determining at least one set of cells in the electronic spreadsheet that each include a same formula, wherein the formula in each cell of the least one set of cells includes a cell reference that differs by a value of one from a cell reference in an adjacent cell of the at least one set of cells; and identifying the set of cells as a range of a first formula array; determining one or more ranges of the data arrays based on the one or more ranges of the formula arrays, the determining further comprising; determining that one or more cells included in the set of cells corresponding to the range of the first formula array reference a set of different cells in the electronic spreadsheet; determining that each cell in the set of different cells corresponds to a cell reference that differs by a value of one from another cell in the set of different cells that is adjacent to the cell in the electronic spreadsheet; and identifying the set of different cells as a range of a first data array; determining conversion ranges based on the one or more ranges of the formula arrays and the one or more ranges of the data arrays; determining one or more dependencies between the conversion ranges; and generating source code based on the conversion ranges and the one or more dependencies between the conversion ranges, the source code modeling the one or more logic implemented by the one or more electronic spreadsheets. - View Dependent Claims (18, 19, 20)
-
Specification