3.1.1 Abstract Data Model
This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.
The relationship between the Excel Services REST Protocol data model and the Entity Data Model defined in [MC-CSDL] are described as follows. The mapping between Entity Data Model concepts and those of the AtomPub specification is described in [MS-ODATA] section 2.2.1. The described relationship is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model, as long as their external behavior is consistent with the behavior described in [MS-ODATA] and [MC-CSDL].
Spreadsheet data structure
Entity Data Model term
Information about the spreadsheet.
Information about a view session to be created on the protocol server.
The list of ranges that are exposed by the spreadsheet.
The list of charts that are exposed by the spreadsheet.
The list of tables that are exposed by the spreadsheet.
The list of pivot tables that are exposed by the spreadsheet.
A range from the spreadsheet.
A table from the spreadsheet.
A PivotTable from the spreadsheet.
A chart from the spreadsheet.
None. Returned as a binary response to the request.
The OData service document, as specified in [MS-ODATA].
None. This is the OData service document, as specified in [MS-ODATA].
The entry point for creating a view session on the protocol server.
The list of slicers that are exposed by the spreadsheet.
A slicer from the spreadsheet.
The list of timelines that are exposed by the spreadsheet.
A timeline from the spreadsheet.
The list of interactive reports that are exposed by the workbook.
The Store data of interactive reports exposed by the workbook.
The ConnectionInfo data of interactive reports exposed by the workbook.
The sort operations on PivotTables that are exposed by the workbook.
When the $format (as specified in [MS-ODATA] section 22.214.171.124.1.5) Uniform Resource Locator (URL) parameter is specified, it overrides the logic specified in [MS-ODATA] with relation to the ACCEPT HTTP header. When there are multiple response formats that satisfy the ACCEPT HTTP header, if one of the content types corresponds to the default format for the EntityType or EntitySet, that is the one that will be returned. If none of the content types specified in the ACCEPT HTTP header is the default one, the protocol server MUST return the supported format with the highest priority in the ACCEPT HTTP header.
Requests can contain a URL parameter where the key starts with "Ranges(‘" and ends with "’)" (case insensitive), between these two strings, the key will contain a string that refers to a range. When such a parameter is passed, the protocol server MUST place the value associated with the parameter in the spreadsheet range specified by the parameter and recalculate the spreadsheet before returning the result from the same spreadsheet. The range specified in the parameter MUST correspond to a single cell in the spreadsheet.
Model and Session Entities Sets are also used as contexts for other entities in the workbook. An entities is said to be "in the context" of Model or Session if the URL path used to access the entities is respectively using the /Model or /Session URL path part.
Unless specified otherwise, all access to the above entities MUST use HTTP GET verb. Whenever PUT or DELETE verbs are specified, calling these verbs needs to be implemented through the usage of HTTP tunneling technique. Such technique requires that HTTP POST verb is used with X-HTTP-Method request header with the value of "PUT" or "DELETE" respectively.