This project is read-only.


  1. What is marshalling?
  2. Excel-DNA types
  3. Built-in custom marshalling

What is marshalling?

Marshalling is a means of converting one .NET type into another. Marshalling is important because Excel can only display 2D data and Excel-DNA (upon which Cubicle Tools is built) only knows how to convert a limited number of .NET types into something that can be displayed in Excel.

Cubicle Tools includes a marshalling sub-system that can be extended by developers to return the contents of custom types to Excel.

The marshalling sub-system in invoked on every result returned by cInvoke and cGet.

The marshalling sub-system is client-side and will be applied to results returned to Excel (the client) from any object handler. Remote object handlers are of special importance because their results can only be marshalled on the client side if they have been successfully serialised by the server.

Excel-DNA types

The current version of Excel-DNA (0.30.3) supports the following list of return types:
  • Double
  • String
  • DateTime
  • Double[]
  • Double,
  • Object
  • Object[]
  • Object,
  • Boolean
  • Int32
  • Int16
  • UInt16
  • Decimal
  • Int64

Built-in custom marshalling

Custom marshalling is included in the standard release for the following types:
  • Char
  • SByte
  • Arrays
  • Lists
  • Dictionaries
  • Jagged Arrays
See Examples for more information.

Last edited Sep 6, 2013 at 12:49 PM by Tjaart, version 7


No comments yet.