Обнаружение в API REST служб Excel
В этом разделе описываются механизмы обнаружения, встроенные в API-интерфейс RESTСлужбы Excel.
Примечание.
REST API служб Excel применим к локальным развертываниям SharePoint и SharePoint 2016. Для учетных записей Office 365 для образования, Office 365 бизнес и Office 365 корпоративный используйте REST API Excel, входящие в состав конечной точки Microsoft Graph.
Базовый URL-адрес обнаружения и пример обнаружения
Функция обнаружения позволяет разработчикам и пользователям обнаруживать содержимое книги вручную или программным способом. Механизм обнаружения предоставляет веб-канал Atom , содержащий сведения о ресурсах в книге. С помощью функции обнаружения можно найти и просмотреть ресурсы книги. Ресурсами являются диапазоны, диаграммы, таблицы и сводные таблицы.
Ниже приведен пример URL-адреса REST конкретного элемента в книге.
http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/<ResourceLocation>
Как описано в разделе Структура и путь базового URI , ниже приведен URL-адрес REST для доступа к книге с именемsampleWorkbook.xlsx и дальнейшего просмотра диаграммы с именем SampleChart:
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart')
Чтобы исследовать и просмотреть ресурсы рабочей книги с помощью функции обнаружения, перейдите на страницу модели с помощью URI, указанного в примере ниже.
http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/model
В примере sampleWorkbook.xlsx ниже приведен универсальный код ресурса (URI):
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model
Ниже показан пример страницы модели.
URL-адрес модели служб Excel REST
URL-адрес страницы модели это место, с которого начинается обнаружение. На странице модели отображаются четыре коллекции ресурсов, которые в настоящее время поддерживают API-интерфейс REST Службы Excel. В состав коллекции ресурсов входят диапазоны, диаграммы, таблицы и сводные таблицы. Чтобы исследовать эти ресурсы в конкретной книге, щелкните ссылку Диапазоны, Диаграммы, Таблицы или Сводные таблицы на странице модели.
Например, чтобы получить доступ к диаграмме в рабочей книге с помощью функции обнаружения, выполните следующие действия.
На странице модели щелкните ссылку Диаграммы. Щелчок ссылки Диаграммы открывает другой веб-канал Atom со всеми диаграммами, доступными в книге sampleWorkbook.xlsx. Книга sampleWorkbook.xlsx содержит три диаграммы: Chart 1, Chart 3 и SampleChart. Следовательно, в списке указаны три диаграммы, как показано на рисунке ниже.
Список диаграмм обнаружения служб Excel REST
На странице модели щелкните SampleChart. Откроется диаграмма SampleChart, расположенная в рабочей книге sampleWorkbook.xlsx, как показано на рисунке ниже.
Просмотр графика с помощью службы REST
Аналогичным образом при щелчке Chart 1 или Chart 3 откроются диаграммы с соответствующими именами. При выборе диаграммы SampleChart осуществляется переход по URL-адресу используемой диаграммы. URL-адрес диаграммы SampleChart показан в примере ниже (как он отображается на экране).
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image
Веб-канал Atom
Использование веб-канала Atom , предоставляемого REST API, упрощает доступ к интересующим вас данным. При просмотре источника веб-страницы вы получите XML-код. Ниже приведен пример для диаграмм книги sampleWorkbook.xlsx.
Как можно увидеть из XML-кода, веб-канал содержит доступные для обхода элементы, которые позволяют коду обнаруживать элементы в книге. Каждая запись веб-канала Atom соответствует диаграмме, к которой можно получить доступ. Такой же механизм используется для обнаружения диапазонов, таблиц и сводных таблиц.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:x="http://schemas.microsoft.com/office/2008/07/excelservices/rest"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservice"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<title type="text">Charts</title>
<id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="self" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts?$format=atom" title="Charts" />
<entry>
<category term="ExcelServices.Chart" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>Chart 1</title>
<id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="Chart 1" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')?$format=image" />
<content type="image/png" src="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')?$format=image" />
</entry>
<entry>
<category term="ExcelServices.Chart" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>Chart 3</title>
<id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="Chart 3" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')?$format=image" />
<content type="image/png" src="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')?$format=image" />
</entry>
<entry>
<category term="ExcelServices.Chart" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>SampleChart </title>
<id>http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="SampleChart" href="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image" />
<content type="image/png" src="http://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image" />
</entry>
</feed>