Patent ID: 8527865

Claim:
A computer-implemented system for handling data, comprising: a server having a processor for executing computer-executable components stored in memory including: a dependency component for generating a dependency graph of cells dependent on input cells in a client spreadsheet application document of a client spreadsheet application and finding dependent cells based on the dependency graph, the dependent cells containing current values calculated via server calculation rules based on current data of the input cells in the client spreadsheet application document submitted to the server by the client spreadsheet application; a translation component for translating the server calculation rules into client spreadsheet application formulae, the server calculation rules defining one or more server calculations performed on the current data in the input cells of the client spreadsheet application document which require data that is not present in the client spreadsheet application document to provide the current values for the dependent cells, the client spreadsheet application formulae reducing a server calculation which requires data that is not present in the client spreadsheet application document to a client-side calculation, the client-side calculation using the current data of one or more input cells and a constant representing required data that is not present in the client spreadsheet application document to provide the current value of a particular dependent cell, the constant derived from the current data of the one or more input cells and the current value of the particular dependent cell; and an insertion component for inserting the client spreadsheet application formulae into the client spreadsheet application document in association with cells of the client spreadsheet application document, the client spreadsheet application formulae for calculating an updated value for the particular dependent cell by performing the client-side calculation using updated data of the one or more input cells and the constant without the client spreadsheet application submitting the updated data of the one or more input cells to the server.