| Optional Interface |
Customizations Allowed |
| IArraySupport |
Allows customization of support for getting and setting arrays of values in a
range of cells |
IDataKeySupport,
IDataSourceSupport |
Allows customization of data binding on a sheet; used in conjunction with each
other |
| IChildModelSupport |
Allows customization of hierarchical data models for hierarchies on a sheet;
used in conjunction with IDataSourceSupport |
|
ICalculationSupport,
ICustomFunctionSupport,
ICustomNameSupport,
IExpressionSupport,
IExpressionSupport2,
IIterationSupport
|
Allows customization of formulas on a sheet;
ICustomFunctionSupport, ICustomNameSupport, and IIterationSupport are not
useful without IExpressionSupport |
IDisjointSelections,
IQuerySelection |
Allows customization of an ordered array of cell ranges containing the selected
cells with the minimal overlap between the ranges on a sheet |
INamedStyle,
IParseFormatSupport |
Allows customization of collections of custom styles in the style
model |
| INonEmptyCells |
Allows customization of non-empty counts to find out which rows or columns have
data in the cells of that row or column on a sheet |
IOptimizedEnumerationSupport,
IOptimizedEnumerationSupport2 |
Allows customization of optimized enumeration for iterating to the next
non-empty row or column on a sheet |
IMovable,
IRangeSupport |
Allows customization of moving, inserting, and deleting rows and columns
support for a range of cells on a sheet; also covers clear, copy, move, and
swap support |
| ISerializationSupport |
Allows customization of XML serialization for the contents of a sheet |
| IUnboundRowSupport |
Allows customization of unbound rows with data binding on a sheet; used in
conjunction with IDataSourceSupport |