
Резюме
Функция Excel WEBSERVICE возвращает данные из веб-службы. Функция ВЕБ-СЕРВИС доступна только в Excel 2013 и более поздних версиях для Windows.
Цель
Получить данные из веб-службыВозвращаемое значение
Результирующие данныеСинтаксис
= ВЕБ-СЕРВИС (URL)Аргументы
- url - URL-адрес вызываемой веб-службы.
Версия
Excel 2013Примечания по использованию
Функция WEBSERVICE возвращает данные из веб-службы, размещенной в Интернете. Функция ВЕБ-СЕРВИС доступна только в Excel 2013 и более поздних версиях для Windows.
Веб-служба использует протокол, например HTTP, для извлечения данных в машиночитаемом формате, таком как XML или JSON. Например, формула, которая использует WEBSERVICE для вызова фиктивной веб-службы, размещенной на somewebservice.com, может выглядеть примерно так:
=WEBSERVICE(“http://somewebservice.com/endpoint?query=xxxx”)
Результат функции WEBSERVICE возвращается непосредственно на рабочий лист. В случаях, когда результат веб-службы находится в формате XML, вы можете использовать функцию FILTERXML для анализа XML.
пример
Простым примером веб-службы является RSS, которая используется для синдицирования контента в формате XML. RSS широко доступен и не требует аутентификации, поэтому это простой способ протестировать функцию WEBSERVICE. В приведенном выше примере WEBSERVICE используется для получения последних новостей из НАСА. Формула в B4:
=WEBSERVICE("https://www.nasa.gov/rss/dyn/breaking_news.rss")
RSS использует XML, поэтому результатом является длинная строка XML, содержащая заголовки последних 10 новостных статей, опубликованных НАСА, а также метаинформацию, такую как описание, дата, URL-адрес и т. Д. На следующем экране показаны эти данные в текстовом редакторе:
Разбор результата
Если результатом WEBSERVICE является XML, вы можете использовать функцию FILTERXML для анализа данных. В показанном примере именно так извлекаются данные и заголовок каждой статьи. Формула в B7 извлекает дату и обрезает лишние символы с помощью функции MID, чтобы создать дату, удобную для Excel:
=MID(FILTERXML(B4,"//item/pubDate"),6,11)
Формула в C7 извлекает заголовок:
=FILTERXML(B4,"//item/title")
Заметки
- Когда WEBSERVICE не может получить данные, он возвращает #VALUE! ошибка.
- Если результат WEBSERVICE превышает 32767 символов, возвращается #VALUE! ошибка.