Skip to search boxSkip to navigationSkip to main content

A Spreadsheet Core Implementation in C#

Research Output:
Book / Anthology / Report
Report

Open access

Publication Information

Output type

Research Output:
Book / Anthology / Report
Report

Original language

English

Publication milestones

  • Published - 09/2006

Publication status

Published - 09/2006

Place of publication

Copenhagen

Edition

TR-2006-91

Publisher

IT-Universitetet i København, Denmark

Book series

  • Book series name: IT University Technical Report Series
    Series number: TR-2006-91
    ISSN: 1600-6100

ISBN (Electronic)

87-7949-135-9

Abstract

One purpose of this report and the accompanying implementation isto enable experiments with innovative spreadsheet functionality andimplementation techniques. Thus we have attempted to collect andpresent a considerable body of knowledge about spreadsheetimplementation. The report also presents implementation techniquesthat are believed to be new, and reports on some experiments withthem.

The report includes:

A description of the spreadsheet computation model as known from e.g. VisiCalc and Microsoft Excel, the challenges of efficient recalculation, and a survey of spreadsheet literature and existing implementations.

A description of CoreCalc, which is our implementation of core spreadsheet functionality, and a discussion of design alternatives.

An investigation of a possibly novel way to represent the support graph, which is a device for achieving minimal recalculation.

Summaries of two MSc projects using the core spreadsheet codebase. One project uses runtime .NET code generation to speed up recalculation, by which it achieves speeds comparable to Microsoft Excel. The other project implements so-called function sheets, permitting users to define functions as sheets (instead of a programming language), as proposed by Peyton Jones, Blackwell and Burnett in 2003.

A list of all known US patents and patent applications related to spreadsheet implementation

Access to documents

Final published version, 844.1 KB