Converting spreadsheet applications to web-based applications

Abstract
A networked version of a spreadsheet application can be automatically created from an existing “conventional” spreadsheet. In one implementation, a server may obtain a data file, where the data file represents a networked version of a spreadsheet application that was converted from the “conventional” application and the data file defines characteristics of the networked version of the spreadsheet application including logic and interactivity attributes of cells in the networked version of the spreadsheet application. A remote request may be received from a client to access the networked version of the spreadsheet application. In response, the server may transmit a document to the client that represents a portion of the networked version of the spreadsheet application that the interactivity attributes specify as being displayable to the client.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,



FIG. 1 is a diagram of an exemplary system in which concepts consistent with the principles of the invention may be implemented;



FIG. 2 is a block diagram illustrating an exemplary implementation of the computing devices shown in FIG. 1 in additional detail;



FIG. 3 is a diagram illustrating an exemplary logic file created by the converter computer shown in FIG. 2;



FIGS. 4A-4D are diagrams illustrating an exemplary IO file created by the converter computer shown in FIG. 2;



FIG. 5 is a diagram of an exemplary spreadsheet application that may be converted to create the logic files shown in FIGS. 3 and 4A-4D;



FIGS. 6A and 6B are diagrams illustrating exemplary abstract syntax trees (ASTs); and



FIGS. 7A-7D are flow charts illustrating exemplary operation of the system shown in FIG. 1 in converting a spreadsheet application to a web-based application.


Claims
  • 1. A method comprising: receiving a spreadsheet application designed to execute using a first spreadsheet program;converting the spreadsheet application into a data file, the data file defining characteristics of a networked version of the spreadsheet application, the characteristics including information defining cells of the networked version of the spreadsheet application that are to be displayable to a user of the networked version of the spreadsheet application; andtransmitting the data file to a server to make the data file available to network users as the networked version of the spreadsheet application.
  • 2. The method of claim 1, wherein the networked version of the spreadsheet application is a web-based version of the spreadsheet application.
  • 3. The method of claim 1, wherein the data file is an extensible markup language (XML) data file.
  • 4. The method of claim 1, wherein the data file further includes information defining interactivity attributes of each of the displayable cells.
  • 5. The method of claim 4, wherein the information regarding interactivity attributes of the displayable cells is abbreviated.
  • 6. The method of claim 1, wherein the data file further includes information defining logical functions implemented by cells in the spreadsheet application.
  • 7. The method of claim 6, wherein the logical functions include information defining formulas stored in the cells.
  • 8. The method of claim 6, wherein the logical functions include information defining data filtering functions.
  • 9. The method of claim 6, wherein the logical functions include information defining a data interface between the spreadsheet application and other applications.
  • 10. The method of claim 6, wherein the logical functions are abbreviated in the data file.
  • 11. The method of claim 1, wherein the networked version of the spreadsheet application comprises substantially the same logic as the spreadsheet application.
  • 12. A computer-readable medium including instructions for execution by a processor, comprising: instructions for receiving a spreadsheet application designed to execute using a first spreadsheet program;instructions for converting the spreadsheet application into a data file, the data file defining characteristics of a networked version of the spreadsheet application, the characteristics including logic and interactive attributes of cells of the networked version of the spreadsheet application; andinstructions for transmitting the data file to a server configured to make the data file available to network users as the networked version of the spreadsheet application.
  • 13. The computer-readable medium of claim 12, wherein the data file is an extensible markup language (XML) data file.
  • 14. A method comprising: obtaining a data file, the data file representing a networked version of a spreadsheet application that was converted from a first spreadsheet application and the data file defining characteristics of the networked version of the spreadsheet application including logic and interactivity attributes of cells in the networked version of the spreadsheet application;receiving a remote request from a client to access the networked version of the spreadsheet application; andtransmitting, in response to the request, a document to the client that represents a portion of the networked version of the spreadsheet application that the interactivity attributes specify as being displayable to the client.
  • 15. The method of claim 14, wherein the first spreadsheet application is a spreadsheet application created by a spreadsheet program designed to run locally on a personal computer.
  • 16. The method of claim 14, wherein the document is an HTML document.
  • 17. The method of claim 14, wherein the portion of the document includes one or more displayable cells of the networked version of the spreadsheet application.
  • 18. The method of claim 14, wherein the data file is an extensible markup language (XML) document.
  • 19. The method of claim 18, further comprising: creating a computer program based on the XML file;requesting a display screen from the computer program; andconstructing the document based on the display screen.
  • 20. The method of claim 18, wherein the information regarding interactivity attributes of the cells is stored in the XML document in an abbreviated form.
  • 21. The method of claim 14, wherein the logic attributes include functions implemented by cells in the spreadsheet application.
  • 22. The method of claim 21, wherein the functions include information defining a data interface between the spreadsheet application and other applications.
  • 23. A device comprising: means for obtaining a data file, the data file representing a networked version of a spreadsheet application that was converted from a first spreadsheet application and the data file defining characteristics of the networked version of the spreadsheet application including logic and interactivity attributes of cells in the networked version of the spreadsheet application;means for receiving a remote request from a client to access the networked version of the spreadsheet application; andmeans for transmitting, in response to the request, a document to the client that represents a portion of the networked version of the spreadsheet application that the interactivity attributes specify as being displayable to the client.
  • 24. The device of claim 23, wherein the data file is an extensible markup language (XML) file.
  • 25. The device of claim 24, wherein the XML file comprises information regarding logic of the spreadsheet application and information regarding interactivity of the spreadsheet application.
  • 26. The device of claim 25, wherein the information regarding interactivity of the spreadsheet application includes information defining cells of the spreadsheet application that are to be viewable to a user of the networked version of the spreadsheet application.
  • 27. A method for converting a spreadsheet application to a web-based application comprising: receiving an extensible markup language (XML) document that was created based on the spreadsheet application;creating a computer program based on the XML document;receiving a request for a display screen of the web-based application from a client;constructing a document for displaying the display screen; andtransmitting the document for displaying the display screen to the client.
  • 28. A system for converting spreadsheet applications to web-based applications, comprising: a converting computer, the converting computer including at least one spreadsheet application that is converted to an extensible markup language (XML) document, the XML document defining characteristics of the networked version of the spreadsheet application including interactivity attributes of cells in the web-based application;a server connected to the converting computer via a network, the server receiving the XML document from the converting computer, the server further comprising a computer program based on the XML document; anda viewing computer connected to the server via the network, the viewing computer including a web browser, wherein the web browser and the computer program at the server interact via the network to act as a web-based application.
Provisional Applications (1)
Number Date Country
60629577 Nov 2004 US