Примеры Excel Services в SharePoint 2010 REST API

Спасибо Кристиану Стич (Christian Stich) за составление серии публикаций о REST API.

В финальной части серии постов о REST API, мы продемонстрируем вам пару примеров. Мы будем использовать REST API для вставки данных в таблицу, а так же покажем вам другие интересные примеры.

Встраивание «живых» диаграм в Wiki страницы SharePoint .

В этом примере мы встроим точечную (scatter) диагрумму Excel в страницу wiki на SharePoint. Точечная диаграмма работает как аналоговые часы. Так что вы можете видеть, что данные возвращаемые через REST, является динамичным. Книга, содержащая диаграмму прикреплена к данному посту.

  • Для начала загрузите файл Clock.xlsx в библиотеку документов SharePoint. (файл находится в архиве, который прикреплен к данному посту)
    Давайте предположим, что книга будет размещена по следующему адресу:
    https://contoso/Shared%20Documents/Clock.xlsx.
  • Затем создайте REST API URI для точечной диаграммы под названием Сlock
    https://contoso/_vti_bin/ExcelRest.aspx/Shared%20Documents/Clock.xlsx/Model/Charts('Clock')
    Вы можете ввести URI в адресной строке браузера, чтобы убедиться, что вы можете получить доступ к графику, прежде чем приступить к следующим шагам.
  • Создайте страницу Wiki в SharePoint.
  • Затем отредактируйте Wiki-страницу, нажав “Изменить страницу” (Edit Page). Поскольку мы вставляем карту, которую REST API возвращает в виде файла PNG нажмите на вкладку Insert, а затем нажмите на Image, затем выберите From Address из раскрывающегося списка.
  • Вствте ранее созданный URI в поле‘Address’.
  • И в завершение нажмите ‘Stop Editing’

Мы увидим часы, когда перезагрузим страницу wiki.

Перезагрузив страницу еще раз мы обновим данные используя REST API тем самым вызовем обновление часов. Демонстрируя при этом живую динамику Excel Services REST API.

Сценарий, более ориентированный на бизнес, может включать другие диаграммы. Например те, которые показывают последние цифры продаж. Данные для диаграм могут быть полученые из Excel Services, из базы данных SQL Server или службы Analysis Services Cube. И будут обновляться каждый раз когда Вики страница открывается (или обновляется) пользователем.

Вставка диаграммы в документ Word используя ExcelServicesRESTAPI .

Аналогичным образом, мы можем использовать Excel Services REST API для вставки живых диаграмм в PowerPoint и Word документы.

В Microsoft Word, перейдите на вкладку ‘Insert’, нажмите на значок ‘Quick Parts’, а затем выберите ‘Field’.

Потом выберите ‘IncludePicture’ и вставьте REST URI для отображения RevenueChart из книги Tax.xlsx в ‘Filename or URL field’.

https://contoso/Finance/_vti_bin/ExcelRest.aspx/Shared%20Documents/Tax.xlsx/Model/Charts(‘RevenueChart’)

Так же, выберите ‘Data not stored with document’ в столбце ‘Field options’ – для того, чтобы диаграмма обновлялась каждый раз при открытии документа Word.

Таким образом, мы создали документ, который содержит живую и обновляемую диаграмму Excel Services. Если данные в книге (которые могут поступать из внешних источников, таких как базы данных SQL или Analysis Services Cube) обновятся, то и диаграмма в документ Word будет обновляться каждый раз когда документ открывается или обновляется (по нажатию клавиши F9).

Построение Mash Up[1] с Bing Maps и Excel Services REST API.

Карты Bing предоставляют SDK, позволяя разработчикам определить местоположение клика мыши на карте, и сопоставить его с адресом, соответствующего этому местоположению. В данной демонстарции извлекается адрес штата, по которому совершено нажатие. Затем Excel Services REST URI запрашивает диаграмму подставляя имя штата в книгу.

Нажав на город Сиэтл вы увидите данные по штату Вашингтон.

Аналогичным образом можно получить данные по штату Техас, нажав на город Хьюстон.

Вот весь код, необходимый для загрузки диаграммы:

document.getElementById('resultDiv').innerHTML = "<img src='https://contoso/_vti_bin/ExcelRest.aspx/Shared%20Documents/StateRankings.xlsx/Model/Charts(%27Report%27)?Ranges(%27State%27)="+s+"'/>";

Строка REST API URI состоит из URL-ссылки на рабочую книгу. А значение диапазона ‘State’ подставляется из переменной ‘S’, которая содержит названия штата.

Весь код JavaScript (включая код, получения расположения от Bing Maps) и книга для этой демонстрации, находиться в архиве, который прилагается к настоящей статье.

Резюме

Excel Services REST API является мощным, но очень простым в использовании средством для встраивания данных из Excel Services в веб и создания Mash-Up приложений. Дает возможность пользователям получать изображение, HTML и Atom Feed, основанные на данных Excel, а так же модифицировать их. REST API также использует другие возможности Excel Services. Например соединение с внешними источниками данных и определенные пользователем функции, которые можно использовать для обновления значений и отображения результата.

Если вы хотите узнать больше о REST то почитайте серию статей Шахара Приша (Shahar Prish), разработчика команды Excel Services, который работает над REST.


[1] Mash up - это приложение комбинирующее в себе контент с различных источников [прим. переводчика].

Перевел - Михаил Даньшин, https://danshin.ms