Spreadsheet Code Integration With Isolated Cell Reference Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current spreadsheet applications lack the ability to integrate external program code, preventing users from performing complex data manipulations due to limited syntax and inflexibility of built-in formulas, and do not support referencing spreadsheet objects within the program code.
Innovation Solution
An external program code pipeline is introduced that analyzes user input for executable program code, identifies spreadsheet references, retrieves associated data, executes the code in a hypervisor isolated container, and displays the results within the spreadsheet application, while isolating the execution to prevent malicious code and unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If spreadsheet applications use built-in formulas for data manipulation, then the application structure remains simple and easy to operate, but the capability to perform complex calculations is limited
Solution Approach 1:
The patent segments the data manipulation capability into two distinct layers: built-in formulas for simple operations and external program code for complex operations. This allows the spreadsheet application to maintain its simple core structure while enabling complex calculations through a separate, modular code execution component that can be integrated when needed.
Solution Approach 2:
The patent introduces an intermediary mechanism that bridges the spreadsheet application and external program code. This intermediary handles the integration of external code, manages the execution environment, and facilitates communication between the spreadsheet objects and the external program, allowing complex calculations without fundamentally altering the spreadsheet application's core structure.
2Adaptability or versatility
If spreadsheet applications integrate external program code, then the flexibility and functionality are enhanced, but the difficulty of integration and operation increases
Solution Approach 1:
The patent implements a self-service mechanism where the spreadsheet application automatically performs code analysis to identify spreadsheet references, retrieves the necessary data, and executes the external program code without requiring manual configuration. This automation reduces the integration difficulty and makes the system easier to operate despite the enhanced functionality.
Solution Approach 2:
The patent performs preliminary actions by analyzing the external program code before execution to identify all spreadsheet references. This pre-analysis step prepares the necessary data retrieval operations in advance, simplifying the integration process and reducing the operational complexity during actual code execution.
3Adaptability or versatility
If spreadsheet applications execute external program code with full access to spreadsheet data, then the functionality is maximized, but security risks increase
Solution Approach 1:
The patent applies local quality by providing the external program code with access only to the specific spreadsheet data that is referenced in the code, rather than granting blanket access to all spreadsheet data. This localized access approach maximizes functionality for the required operations while minimizing security risks by limiting the scope of potential harm.
Data Source
AI summary
A data processing system implements receiving a first input in a spreadsheet in a spreadsheet application, detecting an indication that the first input includes first executable program code, analyzing the first executable program code to identify first references to one or more first elements of the spreadsheet in the first executable program code, requesting spreadsheet data associated with the one or more first elements of the spreadsheet from the spreadsheet application, receiving the spreadsheet data from the spreadsheet application; executing the first executable program code using the spreadsheet data referenced in the first executable program code to obtain a first program code result and causing the spreadsheet application to display the first program code result in the spreadsheet application.


