Method for integrating software components into a spreadsheet application
First Claim
1. An electronic device readable non-transitory storage medium storing electronic device readable instructions that, when executed, cause one or more processors to:
- receive, at a graphical user interface, user input selecting a component defined within a dynamically typed programming environment, the component including functions executable by the dynamically typed programming environment, the functions including input arguments and output arguments, wherein a build tool in conjunction with the graphical user interface allows for the selection of the component defined within the dynamically typed programming environment for integration into a spreadsheet application environment;
receive a selection of two or more of the functions included in the component defined within the dynamically typed programming environment;
arrange the two or more functions into a user defined execution sequence;
receive a mapping offirst cells of the spreadsheet application environment to the input arguments of the two or more functions, andsecond cells of the spreadsheet application environment to the output arguments of the two or more functions, the spreadsheet application environment being external to the dynamically typed programming environment;
automatically generate, by the one or more processors, executable program code for calling the two or more functions from the dynamically typed programming environment;
automatically integrate, by the one or more processors, the executable program code into the spreadsheet application environment;
execute, by the one or more processors, the executable program code, the executing calling the two or more functions in the dynamically typed programming environment in the user defined execution sequence,providing data from the first cells of the spreadsheet application environment as the input arguments of the two or more functions, wherein the build tool converts the data from a format compatible with the spreadsheet application environment into an internal format that is compatible with the dynamically typed programming environment, and producing values for the output arguments of the two or more functions; and
return the values for the output arguments, from the dynamically typed programming environment, to the spreadsheet application environment, the returned values written to the second cells of the spreadsheet application environment.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for automatically integrating software components for use in a COM compliant application from functions developed outside of the COM compliant application environment. The method and apparatus provide a user interface and a build tool that allows the user to select desired functions and select desired locations in the COM compliant application and map those locations to inputs and outputs of the function and create the component automatically from the user'"'"'s selections. The method and apparatus provide a graphical user interface for the user to direct a build tool to generate the desired component and integrate that component with the COM compliant application.
40 Citations
26 Claims
-
1. An electronic device readable non-transitory storage medium storing electronic device readable instructions that, when executed, cause one or more processors to:
-
receive, at a graphical user interface, user input selecting a component defined within a dynamically typed programming environment, the component including functions executable by the dynamically typed programming environment, the functions including input arguments and output arguments, wherein a build tool in conjunction with the graphical user interface allows for the selection of the component defined within the dynamically typed programming environment for integration into a spreadsheet application environment; receive a selection of two or more of the functions included in the component defined within the dynamically typed programming environment; arrange the two or more functions into a user defined execution sequence; receive a mapping of first cells of the spreadsheet application environment to the input arguments of the two or more functions, and second cells of the spreadsheet application environment to the output arguments of the two or more functions, the spreadsheet application environment being external to the dynamically typed programming environment; automatically generate, by the one or more processors, executable program code for calling the two or more functions from the dynamically typed programming environment; automatically integrate, by the one or more processors, the executable program code into the spreadsheet application environment; execute, by the one or more processors, the executable program code, the executing calling the two or more functions in the dynamically typed programming environment in the user defined execution sequence, providing data from the first cells of the spreadsheet application environment as the input arguments of the two or more functions, wherein the build tool converts the data from a format compatible with the spreadsheet application environment into an internal format that is compatible with the dynamically typed programming environment, and producing values for the output arguments of the two or more functions; and return the values for the output arguments, from the dynamically typed programming environment, to the spreadsheet application environment, the returned values written to the second cells of the spreadsheet application environment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An electronic device readable non-transitory storage medium storing instructions that, when executed, cause one or more processors to:
-
receive, at a graphical user interface, a selection of a plurality of functions provided by and defined within a dynamically typed programming environment, wherein a build tool in conjunction with the graphical user interface allows for the selection of the plurality of functions defined within the dynamically typed programming environment for integration into a spreadsheet application environment; arrange the plurality of functions into a user defined execution sequence; receive an input for a first function of the plurality of functions, where; the input is received from the spreadsheet application environment, and the spreadsheet application environment is external to the dynamically typed programming environment; generate executable program code for calling, from the spreadsheet application environment, the plurality of functions from the dynamically typed programming environment to execute in the user defined execution sequence; execute the plurality of functions in the user defined execution sequence in the dynamically typed programming environment, the executing being called from the spreadsheet application environment and operating on the input to generate an output of a first type, where the output of the first type is; compatible with the dynamically typed programming environment, and incompatible with the spreadsheet application environment; reformat the output into a second type, where the output of the second type is; compatible with the spreadsheet application environment; identify, in response to user input, a plurality of cells in the spreadsheet application environment; programmatically map, in the dynamically typed programming environment, the output of the second type to the plurality of cells in the spreadsheet application environment identified in response to user input; and return the output to the identified plurality of cells. - View Dependent Claims (12, 13, 14)
-
-
15. An electronic device readable non-transitory storage medium storing electronic device readable instructions that, when executed, cause one or more processors to:
-
receive, at a graphical user interface, user input selecting a component developed and defined within a dynamically typed programming environment, wherein a build tool in conjunction with the graphical user interface allows for the selection of the component defined within the dynamically typed programming environment for integration into a spreadsheet application environment, where; the spreadsheet application environment is external to the dynamically typed programming environment, and the component provides a plurality of functions; receive, at the dynamically typed programming environment, an input for a first function of the plurality of functions from the spreadsheet application environment; generate executable program code for calling, from the spreadsheet application environment, the plurality of functions from the dynamically typed programming environment to execute in the user defined execution sequence; execute the plurality of functions at the dynamically typed programming environment in a user defined execution sequence, the executing operating on the input to generate an output of the first function, the output comprising of one or more values; identify a plurality of cells in the spreadsheet application environment, the plurality of cells identified in response to user input; programmatically map, at the dynamically typed programming environment, the one or more values of the output generated during execution of the plurality of functions at the dynamically typed programming environment to the plurality of cells in the external spreadsheet application environment identified in response to user input; and return the output to the spreadsheet application environment, the returned output to be written to the identified plurality of cells, wherein the output is converted, by the build tool, from a format compatible with the dynamically typed programming environment to a spreadsheet application format compatible with the spreadsheet application environment.
-
-
16. A method comprising:
-
receiving, at a graphical user interface, user input selecting a plurality of functions provided at and defined within a dynamically typed programming environment, wherein a build tool in conjunction with the graphical user interface allows for the selection of the component defined within the dynamically typed programming environment for integration into a spreadsheet application environment; arranging the plurality of functions into a user defined execution sequence; receiving an input for a first function of the plurality of functions, where; the input is received from the spreadsheet application environment, and the spreadsheet application environment is external to the dynamically typed programming environment; generating executable program code for calling, from the spreadsheet application environment, the plurality of functions from the dynamically typed programming environment to execute in the user defined execution sequence; executing the plurality of functions in the user defined execution sequence in the dynamically typed programming environment, the executing operating on the input to generate an output of the first function, the output comprising values; identifying a plurality of cells in the spreadsheet application environment, the plurality of cells identified in response to user input; programmatically mapping, at the dynamically typed programming environment, the values of the output generated during execution of the first function to the plurality of cells identified in response to user input; and returning the output to the spreadsheet application environment, the returned output to be written to the identified plurality of cells, wherein the output is converted, by the build tool, from a format compatible with the dynamically typed programming environment to a spreadsheet application format compatible with the spreadsheet application environment. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
receiving, at a graphical user interface, user input selecting a plurality of functions defined within a dynamically typed programming application, the plurality of functions including one or more input arguments and one or more output arguments, wherein a build tool in coniunction with the graphical user interface allows for the selection of the plurality of functions defined within the dynamically typed programming environment for integration into a spreadsheet application; arranging the plurality of functions into a user defined order of execution; mapping first cells of the spreadsheet application to the one or more input arguments of the plurality of functions; mapping second cells of the spreadsheet application to the one or more output arguments of the plurality of functions; programmatically generating, by a processor, an executable program configured to execute the plurality of functions by the dynamically typed programming application in the user defined order of execution based on one or more calls in the spreadsheet application, utilize values from the first cells of the spreadsheet application as the one or more input arguments of the plurality of functions, and load computed values for the one or more output arguments of the plurality of functions into the second cells of the spreadsheet application, wherein the computed values are converted, by the build tool, from a format compatible with the dynamically typed programming environment to a spreadsheet application format compatible with the spreadsheet application; and placing the executable program in the spreadsheet application. - View Dependent Claims (24, 25, 26)
-
Specification