Spreadsheet Adapter for Complex Object Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Spreadsheets are inadequate for handling complex data types such as XML, as they lack the capability to effectively store, process, and display complex objects, which are constructs of data and code, limiting their ability to provide a suitable interface for multidimensional data manipulation and representation.

Innovation Solution

The method involves using an adapter model, view, and controller to store and process complex objects within a spreadsheet, generating a nested spreadsheet with a specific format based on a template, and displaying metadata and code externally, allowing for the representation of complex data types like XML, and updating the display dynamically based on changes in dependent cells.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If spreadsheets are used to handle complex data types like XML, then data manipulation capability is improved, but the system's ability to effectively store and process complex objects deteriorates due to lack of native support

Engineering Contradiction:
Improvecapability to handle complex data typesVSAvoideffectiveness in storing and processing complex objects
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer that translates between complex objects (like XML) and spreadsheet-compatible data structures. This mediator enables the spreadsheet to handle complex data types without native support by converting them into a format that can be stored and processed in cells, thus resolving the contradiction between versatility and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments complex objects into smaller, manageable components that can be individually stored in spreadsheet cells. By breaking down complex data structures into discrete elements, the system maintains reliability while expanding adaptability to handle diverse data types.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If spreadsheets display complex objects directly, then data representation capability is improved, but the interface complexity increases making it less user-friendly

Engineering Contradiction:
Improvedata representation capabilityVSAvoiduser-friendliness of interface
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent creates simplified copies or representations of complex objects that can be displayed in spreadsheet cells without showing the full complexity of the underlying data structures. These copies maintain the essential information while presenting a user-friendly interface, thus resolving the contradiction between information representation and ease of operation.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If spreadsheets are extended to support complex objects with additional features, then functionality is improved, but the device complexity increases

Engineering Contradiction:
Improvefunctionality for complex object handlingVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal interface layer that handles multiple complex object types through a common mechanism. This multi-functional approach allows the spreadsheet to support various complex data types without requiring separate specialized components for each, thus improving functionality while controlling system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP1887479B1Adapting a spreadsheet for use with a complex object
Publication Date: 2017.07.05 SAP SE
  • EP1887479B1 patent drawingFigure 1
  • EP1887479B1 patent drawingFigure 2
  • EP1887479B1 patent drawingFigure 3

AI summary

A method for use with a spreadsheet includes storing a cell object, where the cell object includes a location in the spreadsheet of a cell to which the cell object relates and a process associated with the cell, and performing the process on a complex object to produce a result, where the complex object includes a construct comprised of data and code. A display is generated for the cell that is based on the result.