Spreadsheet-based software application development
First Claim
1. A computer implemented method for generating an interactive web application comprising at least one web page, the method comprising:
- determining at least one primary data source within a spreadsheet, wherein the at least one primary data source corresponds to a first worksheet of the spreadsheet;
determining at least one secondary data source within the spreadsheet, wherein the at least one secondary data source corresponds to a different second worksheet of the spreadsheet;
determining a relationship between records of the primary data source and records of the secondary data source;
generating, automatically and based on the determined relationship, a third worksheet comprising at least a portion of the records of the primary data source and at least a portion of the records of the secondary data source, wherein content of the third worksheet is synchronized with content of the first worksheet and content of the second worksheet, and wherein a first row of the third worksheet comprises at least one first cell selected from the primary data source and at least one different second cell selected from the second data source based on the determined relationship;
generating a web data store separate from the spreadsheet and comprising data records from the first worksheet and the second worksheet;
generating a particular web page of the interactive web application based on at least one user interface template corresponding to the particular web page, wherein the particular web page references records of the third worksheet identified based on the at least one user interface template corresponding to the particular web page, wherein generating the particular web page of the interactive web application comprises extracting content corresponding to the records of the third worksheet from the web data store, and wherein the content corresponding to the records of the third worksheet is identified by the at least one user interface template corresponding to the particular web page;
receiving user input via an input control associated with the particular web page of the interactive web application; and
updating at least one record of the secondary data source based on the received user input and based on the determined relationship.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects described herein may be used with local spreadsheet applications, web, and/or cloud-based spreadsheet solutions, to create complex custom software applications. Spreadsheets themselves lack the conceptual framework to be used as a platform tool to build custom or complex software applications. Using the methods and systems described herein using low-code/no-code techniques, a designer can create custom and/or complex software applications using one or more spreadsheets as the underlying blueprints for the software application. The resultant software application may be static/read-only, or may be interactive to allow users to dynamically add, delete, edit, or otherwise amend application data, e.g., via one or more online web pages or via a mobile application. Data transfer may be one-way or bi-directional between the blueprint spreadsheets and the resultant software application, thereby allowing amended data to be transferred from the software application back into spreadsheet form.
-
Citations
42 Claims
-
1. A computer implemented method for generating an interactive web application comprising at least one web page, the method comprising:
-
determining at least one primary data source within a spreadsheet, wherein the at least one primary data source corresponds to a first worksheet of the spreadsheet; determining at least one secondary data source within the spreadsheet, wherein the at least one secondary data source corresponds to a different second worksheet of the spreadsheet; determining a relationship between records of the primary data source and records of the secondary data source; generating, automatically and based on the determined relationship, a third worksheet comprising at least a portion of the records of the primary data source and at least a portion of the records of the secondary data source, wherein content of the third worksheet is synchronized with content of the first worksheet and content of the second worksheet, and wherein a first row of the third worksheet comprises at least one first cell selected from the primary data source and at least one different second cell selected from the second data source based on the determined relationship; generating a web data store separate from the spreadsheet and comprising data records from the first worksheet and the second worksheet; generating a particular web page of the interactive web application based on at least one user interface template corresponding to the particular web page, wherein the particular web page references records of the third worksheet identified based on the at least one user interface template corresponding to the particular web page, wherein generating the particular web page of the interactive web application comprises extracting content corresponding to the records of the third worksheet from the web data store, and wherein the content corresponding to the records of the third worksheet is identified by the at least one user interface template corresponding to the particular web page; receiving user input via an input control associated with the particular web page of the interactive web application; and updating at least one record of the secondary data source based on the received user input and based on the determined relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer implemented method for generating an interactive web application comprising at least one web page, the method comprising:
-
determining at least one primary data source within a spreadsheet, wherein the at least one primary data source corresponds to a first worksheet; determining at least one secondary data source, wherein the at least one secondary data source corresponds to a different second worksheet; determining a relationship between records of the primary data source and records of the secondary data source based on content of the records of the primary data source and content of the records of the second data source; generating, automatically and based on the determined relationship, a third worksheet comprising at least a portion of the records of the primary data source and at least a portion of the records of the secondary data source, wherein content of the third worksheet is synchronized with content of the first worksheet and content of the second worksheet, and wherein a first row of the third worksheet comprises at least one first cell selected from the primary data source and at least one different second cell selected from the second data source based on the determined relationship; generating a web data store separate from the third worksheet and comprising data records from the first worksheet and the second worksheet; generating a particular web page of the interactive web application based on at least one user interface template corresponding to the particular web page, wherein the particular web page references records of the third worksheet identified based on the at least one user interface template corresponding to the particular web page, wherein generating the particular web page of the interactive web application comprises extracting content corresponding to the records of the third worksheet from the web data store, and wherein the content corresponding to the records of the third worksheet is identified by the at least one user interface template corresponding to the particular web page; receiving user input via an input control associated with the particular web page of the interactive web application; and updating at least one record of the secondary data source based on the received user input and based on the determined relationship. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification