2.2.4 Complex Types

The following table summarizes the set of common XML schema complex type definitions defined by this specification. XML schema complex type definitions that are specific to a particular operation are described with the operation.

Complex type

Description

ArrayOfAnyType

The ArrayOfAnyType type is an array of anyType elements.

ArrayOfArrayOfString

The ArrayOfArrayOfString complex type is an array of ArrayOfString elements

ArrayOfAutoFilterCriteria

The ArrayOfAutoFilterCriteria type is an array of AutoFilterCriteria elements (section 2.2.4.12).

ArrayOfAutoFilterDateNodeInfo

The ArrayOfAutoFilterDateNodeInfo complex type is an array of AutoFilterDateNodeInfo elements (section 2.2.4.13).

ArrayOfBindingMetadata

Unordered list of BindingMetadata (section 2.2.4.80).

ArrayOfClientUdfCall

A collection of ClientUdfCall elements.

ArrayOfClientUdfDefinition

A collection of ClientUdfDefinition elements.

ArrayOfDataConnectionInfo

An array of DataConnectionInfo elements as specified in section 2.2.4.92.

ArrayOfExcelServerMessage

The ArrayOfExcelServerMessage type is an array of ExcelServerMessage elements (section 2.2.4.23).

ArrayOfInt

The ArrayOfInt type is an array of integer elements.

ArrayOfInteractiveReportsItem

The ArrayOfInteractiveReportsItem type specifies an array of InteractiveReportsItem elements.

ArrayOfObjectStateResultColumn

The ArrayOfObjectStateResultColumn type specifies an array of ObjectStateResultColumn elements.

ArrayOfPivotField

The ArrayOfPivotField type contains a list of PivotField elements (section 2.2.4.99).

ArrayOfPivotFieldListItem

The ArrayOfPivotFieldListItem type is an array of PivotFieldListItem elements (section 2.2.4.53).

ArrayOfPivotFilterItem

The ArrayOfPivotFilterItem type is an array of PivotFilterItem elements (section 2.2.4.26).

ArrayOfPivotFilterParameter

The ArrayOfPivotFilterParameter type contains a list of PivotFilterParameter elements (section 2.2.4.100).

ArrayOfPresenceUserInfo

The ArrayOfPresenceUserInfo type is an array of PresenceUserInfo elements (section 2.2.4.30).

ArrayOfRangeValuesA1

The ArrayOfRangeValuesA1 type is an array of RangeValuesA1 elements (section 2.2.4.31).

ArrayOfScenarioThrottlingInformation

MUST NOT be used.

ArrayOfScenarioThrottlingInformation

MUST NOT be used.

ArrayOfServerEventMetadata

An unordered list of ServerEventMetadata (section 2.2.4.83) items.

ArrayOfSheetName

An array of SheetName elements.

ArrayOfSlicerFormatElement

An array of SlicerFormatElement elements (section 2.2.4.37).

ArrayOfSlicerInfo

The ArrayOfSlicerInfo type contains a list of SlicerInfo elements (section 2.2.4.104).

ArrayOfSlicerItem

An array of SlicerItem elements (section 2.2.4.39).

ArrayOfSlicerItemRange

An array of SlicerItemRange as defined in section 2.2.4.116.

ArrayOfstring

The ArrayOfstring type specifies an array of string elements.

ArrayOfString

The ArrayOfString complex type is an array of string elements.

ArrayOfWebExtensionMetadata

An unordered list of WebExtensionMetadata (section 2.2.4.84) items.

ArrayOfWorksheetChangeInfo

MUST NOT be used.

ArrayOfWorksheetData

An array of WorksheetData items.

AutoFilterCriteria

Used to instruct the protocol server on how to apply a filter on an AutoFilter in the workbook. This complex type is used as part of the AutoFilterOptions complex type (section 2.2.4.14) through the ArrayOfAutoFilterCriteria complex type (section 2.2.4.2).

AutoFilterDateNodeInfo

Specifies how AutoFilter filter date values are filtered by the protocol server.

AutoFilterOptions

Used to specify the filter applied to an AutoFilter column (2).

BindingData

Contains cell data and headers depending on the coerce type specified in this structure.

BindingMetadata

Information about a single Office Web Extension binding that Excel uses to implement features related to bindings.

BindingReference

Describes a simple worksheet range, intended for BindingMetadata to describe the range to which a binding refers.

BorderFormat

Specifies the formatting to apply to the border of the slicer visual components.

CellCompoundValue

The CellCompoundValue complex type contains the number formatted and the unformatted value of a cell.

The CellCompoundValue type MUST only be used in the elements in the rangeRequests element of GetRangeValuesA1Response (section 3.1.4.24.2.2).

ClientUdfCall

Represents the information needed for a single client-side user-defined function (UDF) result protocol server requires from the protocol client.

ClientUdfCallInfo

Contains a list of ClientUdfCall elements that the protocol server requires from the protocol client to complete a workbook calculation.

ClientUdfDefinition

Represents a client side UDF that the protocol client can calculate for the server.

ClientUdfListInfo

Contains a list of ClientUdfDefinition elements.

CollaborationParameter

The CollaborationParameter complex type encapsulates input about end user presence.

CollaborationResult

The CollaborationResult complex type encapsulates output about end user presence.

CollaborationState

The CollaborationState complex type encapsulates information about the state of the end user presence information.

CommandParameter

The CommandParameter complex type is an input used by some protocol server operations.

CommandResult

The CommandResult complex type is an operation response message used by most protocol server operations.

CommandResultExtendedInfo

The CommandResultExtendedInfo complex type provides extended information for CommandResult (section 2.2.4.21).

CultureCommandParameter

The CultureCommandParameter is used to specify UI culture, data culture and host data language related information when creating a new session.

DataConnectionInfo

Specifies information about a data connection (2).

DataConnectionsInfo

Specifies information about data connections (2) in the workbook.

DdaSettings

List of settings for an instance of an Office Web Extension.

ExcelServerMessage

An alert information returned by the protocol server.

ExcelServerMessage

An alert information returned by the protocol server.

InteractiveReportsItem

The InteractiveReportsItem type specifies an interactive report item.

ObjectStateResult

The ObjectStateResult type specifies information about an object state returned by protocol server.

ObjectStateResultColumn

The ObjectStateResultColumn type specifies column information about object state return by the protocol server.

OpenWorkbookInParameters

Input parameters for OpenWorkbook (section 3.1.4.30).

OpenWorkbookOutParameters

Output parameters for OpenWorkbook (section 3.1.4.30) are as follows.

OperationStates

Indicates the current enabled state of undo and redo operations.

PeriodicRefreshInfo

The PeriodicRefreshInfo complex type is used to return expired external data related information.

PivotField

The PivotField type contains information about a PivotTable field.

PivotFieldListItem

The PivotFieldListItem complex type is used to specify a PivotTable field, visual state information for the PivotTable field, and child PivotTable fields.

PivotFilterItem

A PivotTable member that is part of a PivotTable manual filter hierarchy.

PivotFilterItemList

A list of PivotTable members.

PivotFilterParameter

The PivotFilterParameter type specifies a PivotTable custom filter applied to a PivotTable field.

PivotMenu

The PivotMenu type contains information about a PivotTable area that is returned by the protocol server.

PivotOperationOptions

The PivotOperationOptions complex type is a container for common information that is used by the following operations related to PivotTables:

  • ApplyPivot (section 3.1.4.47)

  • ApplyPivotFilter (section 3.1.4.2)

  • ApplyPivotSort (section 3.1.4.3)

  • ApplyPivotTop10Filter (section 3.1.4.4)

  • ApplyPivotValueFieldSettings (section 3.1.4.61)

  • BixDrill (section 3.1.4.58)

  • ConnectAndGetPivotFilterItemList (section 3.1.4.9)

  • ConnectAndGetPivotMenu (section 3.1.4.78)

  • ExpandPivotFieldListLevels (section 3.1.4.49)

  • GetBixAnalysis (section 3.1.4.51)

  • GetPivotFieldListData (section 3.1.4.52)

  • GetPivotFieldManagerData (section 3.1.4.53)

  • GetPivotFilterItemList (section 3.1.4.18)

  • GetPivotMenu (section 3.1.4.19)

  • GetPivotValueFieldSettings (section 3.1.4.63)

  • RemovePivotFilter (section 3.1.4.37)

  • TogglePivotDrill (section 3.1.4.46)

Some of the elements of this type have a common usage among all of the preceding operations and are specified in this section. Other elements have particular usage information that is specified in the sections of this document addressing the particular operations.

PresenceUserId

The PresenceUserId complex type contains identifying information about end user presence for a single participant in the session (2).

PresenceUserInfo

The PresenceUserInfo complex type contains information about end user presence for a single participant in the session (2).

RangeValuesA1

The RangeValuesA1 type is used to transfer the values of the cells specified by RangeName.

RequestLimits

Specifies a limit on a protocol server operation.

RestApplySlicerSelectionRequest

Contains information about the operation to update a slicer.

RestApplyTimelineSelectionRequest

Contains information about the operation to update a timeline.

RestChartPngRequest

When passed as the request element of the ProcessRestRequest input (section 3.1.4.56.2.1), it specifies the chart to retrieve and information about its image.

RestChartPngResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestChartPngRequest (section 2.2.4.54) is passed as the input.

RestCloseWorkbookRequest

Indicates a request to the protocol server to close the session (2) identified by SessionId field of the RestRequest type (section 3.1.4.56.3.1).

RestInteractiveReportsListRequest

The RestInteractiveReportsListRequest type specifies the parameters for a list of interactive reports to be returned by the protocol server.

RestInteractiveReportsListResult

The RestInteractiveReportsListResult type specifies a list of interactive reports returned by the protocol server.

RestInteractiveReportsStoreRequest

The RestInteractiveReportsStoreRequest type specifies the parameters for an interactive report store to be returned by the protocol server.

RestInteractiveReportsStoreResult

The RestInteractiveReportsStoreResult type specifies the information about the interactive report returned by protocol server.

RestObjectStateGetRequest

The RestObjectStateGetRequest type specifies the parameters for the object state to be returned by the protocol server.

RestObjectStateRequest

The RestObjectStateRequest type specifies the parameters for a rest object state to be returned by protocol server.

RestObjectStateResult

The RestObjectStateResult type specifies information about state operation options of a rest object.

RestObjectStateSetRowSortRequest

The RestObjectStateSetRowSortRequest type specifies parameters for a rest object row sort state to be returned by the protocol server.

RestODataRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving an OData response, as specified in [MS-ODATA].

RestODataResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestODataRequest (section 2.2.4.56) is passed as the input.

RestOpenWorkbookRequest

When passed as the request parameter of the ProcessRestRequest (section 3.1.4.56.2.1) input, indicates that the protocol server opens the workbook specified in section 3.1.4.56.

RestOpenWorkbookResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestOpenWorkbookRequest (section 2.2.4.75) is passed as the input.

RestPngResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestRangePngRequest (section 2.2.4.61) is passed as the input and it is the base type for RestChartPngResult (section 2.2.4.55).

RestPublishedObjectsRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving a list of published objects.

RestPublishedObjectsResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestPublishedObjectsRequest (section 2.2.4.59) is passed as the input.

RestRangePngRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving an image representing a range.

RestRangeValuesRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving the sheet (2) cell values of a range.

RestRangeValuesResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestRangeValuesRequest (section 2.2.4.62) is passed as the input.

RestRangeXmlRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving a representation of a range as specified in [MS-EXSPXML3].

RestRangeXmlResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestRangeXmlRequest (section 2.2.4.64) is passed as the input.

RestSlicerItemsListRequest

Specifies the parameters for the list of items in a slicer.

RestSlicerItemsListResult

Specifies information about a list of slicer items.

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestSlicerItemsListResult is passed as the input.

RestSlicersListRequest

The RestSlicersListRequest type specifies the conditions for a list of slicers or timelines to be returned by the protocol server.

RestSlicersListResult

The RestSlicersListResult type specifies the list of slicers returned by the protocol server.

RestTimelineInfoRequest

Identifies a timeline.

RestTimelineInfoResult

Specifies information about a timeline.

RestWorkbookRequest

When passed as the request parameter of the ProcessRestRequest input (section 3.1.4.56.2.1), indicates retrieving the workbook file.

RestWorkbookResult

This is the type of the result field of ProcessRestRequestResponse (section 3.1.4.56.2.2) when a RestWorkbookRequest (section 2.2.4.66) is passed as the input.

ScenarioThrottlingInformation

MUST NOT be used.

ScenarioThrottlingInformation

MUST NOT be used.

ServerEventMetadata

An event of a particular type that occurred during server processing.

ServerHealthInformation

Used to return information about the health of the protocol server.

ServerHealthInformation

Used to return information about the health of the protocol server.

ServerThrottlingInformation

MUST NOT be used.

ServerThrottlingInformation

MUST NOT be used.

SheetCell

Specifies the coordinates of a cell in a sheet (2).

SheetName

Specifies the name, type and visible condition of a sheet (1).

SheetRange

Specifies a range on a worksheet in a workbook.

SlicerFontType

Font specification for a slicer visual component.

SlicerFormatElement

A slicer formatting specification.

SlicerFormatElementList

 Contains an ArrayOfSlicerFormatElement element (section 2.2.4.9).

SlicerInfo

Information about a slicer.

SlicerItem

Specifies the visual representation for a slicer item.

SlicerItemList

 Contains an ArrayOfSlicerItem element (section 2.2.4.10).

SlicerItemRange

Represents a contiguous range of slicer items.

SlicerOptions

A container for common information related to a slicer.

SlicerView

Specifies slicer attributes such as display properties specific to the slicer and attributes describing the slicer items.

Top10FilterParameter

The Top10FilterParameter type contains information about the top N filter or bottom N filter that is applied to a PivotTable field.

TypeExporter

MUST NOT be used.

VisibleSheetRange

The VisibleSheetRange complex type is used to specify the Workbook ([MS-EXSPXML3] section 2.1.1) to be returned in the response message. The baseline range, in the context of this type and the operation that uses it, is the raw range initially found on the workbook before it is modified to only include visible worksheet cells. If the ObjectName element is present and not empty, and if the associated session is not an edit session, and if DisallowAutoNOV is false, the following apply:

  • If the ExcelRange element is present and not empty:

    • The sheet (2) of the baseline range is determined in the following manner:

      • If a sheet (2) was specified by ExcelRange, that is the sheet (2) which will be used.

      • Otherwise, the protocol server will locate a published item by matching ObjectName to the name of the published item.

        • If a match is found, the sheet (2) which contains the matching published item MUST be used.

        • Otherwise, the protocol server MUST return an ExcelServerMessage as specified in section 2.2.4.24. The Id element of the ExcelServerMessage MUST be EcsInvalidNamedObject.

    • The protocol server will locate a published range which exactly matches ExcelRange on the baseline range's sheet.

      • If a match is found, the published range is the baseline range.

      • Otherwise, the protocol server MUST locate a published item on the baseline range's sheet (2), which exactly matches ExcelRange.

        • If a match was found, the published item is the baseline range.

        • Otherwise, the protocol server MUST return an ExcelServerMessage as specified in section 2.2.4.24. The Id element of the ExcelServerMessage MUST be EcsInvalidNamedObject.

  • If ExcelRange is not present or is empty, the protocol server will locate ObjectName in all the published items that belong to the workbook by matching ObjectName to the name of the published item.

    • If a match was found, the baseline range MUST be the published item's range.

    • Otherwise, the protocol server MUST return an ExcelServerMessage as specified in the section 2.2.4.24. The Id element of the ExcelServerMessage MUST be EcsInvalidNamedObject.

  • The protocol server MUST NOT use any range outside of the baseline range to retrieve data from.

If ObjectName is not present or is empty, and the workbook contains published items, and if the associated session is not an edit session, and if DisallowAutoNOV is false:

  • If ExcelRange is present and not empty:

    • The sheet (2) of the baseline range MUST be determined in the following manner:

      • If a sheet (2) was specified by ExcelRange, that is the sheet (2) which MUST be used.

      • Otherwise, the sheet (2) which contains the first published item MUST be used.

    • The protocol server will locate a published range which exactly matches ExcelRange on the baseline range's sheet (2).

      • If a match is found, the published range is the baseline range.

      • Otherwise, the protocol server will locate a published item on the baseline range's sheet (2), which contains ExcelRange in its entirety.

        • If a match was found, the published item is the baseline range.

        • Otherwise, the protocol server MUST return an ExcelServerMessage as specified in the section 2.2.4.24. The Id element of the ExcelServerMessage MUST be EcsInvalidNamedObject.

  • If ExcelRange is not present or is empty, the baseline range MUST be the range of the first published item.

  • The protocol server MUST NOT use any range outside of the baseline range to retrieve data from.

If ObjectName is not present or is empty and the workbook does not contain any published items, or if the associated session is an edit session, or if DisallowAutoNOV is true:

  • If SheetName is not present or empty, the baseline range MUST be the default sheet. Otherwise, SheetName MUST be the sheet (2) of the baseline range.

  • If FirstRow is –1, the default row MUST be the first row (2) of the baseline range. Otherwise, FirstRow MUST be the first row (2) of the baseline range.

  • If FirstColumn is –1, the default column MUST be the first column of the baseline range. Otherwise, FirstColumn MUST be the first column of the baseline range.

  • First row (2) of baseline range+VisibleRowsRequested MUST be the last row (2) of the baseline range.

  • First column of baseline range+VisibleColumnsRequested MUST be the last column of the baseline range.

  • FirstColumn MUST be –1 if FirstRow is –1.

  • FirstRow MUST be –1 if FirstColumn is –1.

The product of VisibleRowsRequested and VisibleColumnsRequested MUST be less than or equal to 1,000,000.

The first row (2) of the retrieved range MUST be one of the following:

  • The first visible row (2) at or after first row (2) of baseline range+VisibleFirstRowOffset, if VisibleFirstRowOffset is greater than or equal to 0.

  • The first visible row (2) at or before first row (2) of baseline range+VisibleFirstRowOffset, if VisibleFirstRowOffset is less than 0.

    • If baseline range+VisibleFirstRowOffset is less than 0, the protocol server MUST return an ExcelServerMessage as specified in the section 2.2.4.24. The Id element of the ExcelServerMessage MUST be SpecifiedRangeNotFound.

  • If there are less than VisibleRowsRequested visible rows (2) between that first visible row (2) and the last visible row (2) of the baseline range, the first row (2) will be the first visible row (2) such that there are VisibleRowsRequested rows (2) between it and the last visible row (2) of baseline range.

  • Greater than or equal to 0, and less than or equal to 1,048,575

The number of visible rows (2) in the retrieved range MUST be equal to VisibleRowsRequested, unless there are not enough visible rows (2) in the baseline range to retrieve, in which case all the remaining visible rows (2) in the baseline range MUST be retrieved.

The first column of the retrieved range MUST be:

  • The first visible column at or after first column of baseline range+VisibleFirstColumnOffset, if VisibleFirstColumnOffset is greater than or equal to 0.

  • The first visible column at or before first column of baseline range+VisibleFirstColumnOffset, if VisibleFirstColumnOffset is less than 0.

    • If baseline range+VisibleFirstColumnOffset is less than 0, the protocol server MUST return an ExcelServerMessage as specified in the section 2.2.4.24. The Id element of the ExcelServerMessage MUST be SpecifiedRangeNotFound.

  • If there are less than VisibleColumnsRequested visible columns between that first visible column and the last visible column of the baseline range, the first column will be the first visible column such that there are VisibleColumnsRequested columns between it and the last visible column of baseline range.

  • Greater than or equal to 0 and less than or equal to 16,383.

The number of visible columns in the retrieved range MUST be equal to VisibleColumnsRequested unless there are not enough visible columns in the baseline range to retrieve, in which case all the remaining visible columns in the baseline range MUST be retrieved.

If the retrieved range is encompassed by a published chart, and either a) ObjectName is present and not empty, or b) ObjectName is not present or is empty, and the workbook contains published items, then the returned Workbook ([MS-EXSPXML3] section 2.1.1) will contain the CT_Images element ([MS-EXSPXML3] section 2.3.34) with a single CT_Image element ([MS-EXSPXML3] section 2.3.33). The type attribute for the CT_Image element ([MS-EXSPXML3] section 2.3.33) MUST be chart, as specified in [MS-EXSPXML3] section 2.3.33.

WebExtensionMetadata

Information associated with an Office Web Extension.

WorkbookMetadata

This is a container that encapsulates information about features in the workbook.

WorkbookMetadataParameter

Container for workbook metadata.

WorkbookMetadataResult

Contains information about the state of features in the workbook.

WorkbookMetadataState

State of an associated WorkbookMetadata as specified in section 2.2.4.69.

WorkOnBehalf

MUST NOT be used.

WorksheetChangeInfo

MUST NOT be used.

WorksheetData

Contains metadata for any sheet (1) in the workbook.