Spreadsheet Calculation Engine Emulation in Java

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional spreadsheet applications lack flexibility in processing data from external sources and converting calculation models into business reports, requiring complex programming and data import processes.

Innovation Solution

A spreadsheet calculation engine is emulated in a JAVA environment, allowing for enhanced data input/output flexibility and enabling the publication of processed data on the web, with a system comprising a spreadsheet parser, input interface, emulator, and output interface, including an XSL-FO transformation engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional spreadsheet application is used to process data and generate reports, then the calculation model can be easily designed using cells and formulas, but the system lacks flexibility in accepting input data from external sources and publishing output data

Engineering Contradiction:
Improvedata input/output flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is divided into distinct components: a spreadsheet parser that extracts calculation models from spreadsheet files, a calculation engine that processes data according to the extracted model, and interfaces for data input and output. This segmentation allows each component to specialize in specific tasks, improving adaptability while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the calculation engine with standardized interfaces) between external data sources and the calculation model. This intermediary handles data import from various formats (XML, text files, database queries) and export to multiple formats (HTML, PDF, Excel), eliminating the need for traditional spreadsheet applications while maintaining calculation flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a spreadsheet application is used to create business reports from calculation models, then the reports can be generated using built-in features, but the application lacks robust reporting capabilities and requires conversion to standalone applications

Engineering Contradiction:
Improvereporting capabilityVSAvoidapplication development complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The calculation engine is designed as a universal platform that can process any calculation model extracted from spreadsheet files and generate reports in multiple formats. This multi-functional approach eliminates the need for separate standalone applications for different reporting needs, as the same engine handles diverse reporting requirements through standardized interfaces and output generators.

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

3Adaptability or versatility

If data is imported into a spreadsheet application from external sources, then the data can be processed by the calculation model, but the process requires data import utilities that add complexity and expense

Engineering Contradiction:
Improveexternal data integrationVSAvoiddata import complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system employs an intermediary data import interface that directly connects external data sources to the calculation engine, bypassing the need for spreadsheet application import utilities. This intermediary layer handles data transformation and validation, allowing seamless integration of external data (from databases, XML files, text files) into the calculation model without requiring traditional spreadsheet import processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8082489B2Using a spreadsheet engine as a server-side calculation model
Publication Date: 2011.12.20 ORACLE INT CORP
  • US8082489B2 patent drawing
  • US8082489B2 patent drawing
  • US8082489B2 patent drawing

AI summary

This disclosure is directed to novel solutions for processing data in a manner similar to that employed by traditional spreadsheet applications (including, merely by way of example, evaluating expressions, producing reports and the like) without the need for a spreadsheet application. In an aspect, a spreadsheet calculation engine might be emulated in a Java environment, allowing for enhanced data input/output flexibility while still maintaining the ease with which traditional spreadsheet applications allow users to design a calculation model. In another aspect, the spreadsheet engine might be provided on a web server, database server and/or application server, allowing for data (including, for instance, reports comprising data processed and/or produced by the spreadsheet calculation engine) to be published easily (and, in some cases dynamically) on the web.