
Resumo
A função WEBSERVICE do Excel retorna dados de um serviço da web. A função WEBSERVICE está disponível apenas no Excel 2013 e posterior para Windows.
Objetivo
Obtenha dados de um serviço da webValor de retorno
Dados resultantesSintaxe
= WEBSERVICE (url)Argumentos
- url - o url do serviço da web a ser chamado.
Versão
Excel 2013Notas de uso
A função WEBSERVICE retorna dados de um serviço da web hospedado na internet. A função WEBSERVICE está disponível apenas no Excel 2013 e posterior para Windows.
Um serviço da web usa um protocolo como HTTP para recuperar dados em um formato legível por máquina como XML ou JSON. Por exemplo, uma fórmula que usa WEBSERVICE para chamar um serviço da web fictício hospedado em somewebservice.com pode ter a seguinte aparência:
=WEBSERVICE(“http://somewebservice.com/endpoint?query=xxxx”)
O resultado da função WEBSERVICE é retornado diretamente para a planilha. Nos casos em que o resultado de um serviço da web está no formato XML, você pode usar a função FILTERXML para analisar o XML.
Exemplo
Um exemplo simples de serviço da web é RSS, que é usado para distribuir conteúdo no formato XML. RSS está amplamente disponível e não requer autenticação, portanto, é uma maneira fácil de testar a função WEBSERVICE. No exemplo acima, WEBSERVICE é usado para buscar notícias de última hora da NASA. A fórmula em B4 é:
=WEBSERVICE("https://www.nasa.gov/rss/dyn/breaking_news.rss")
RSS usa XML, então o resultado é uma longa sequência de XML que contém os títulos dos últimos 10 artigos de notícias publicados pela NASA, junto com meta informações como descrição, data, url e assim por diante. A tela abaixo mostra esses dados em um editor de texto:
Analisando o resultado
Quando o resultado de WEBSERVICE é XML, você pode usar a função FILTERXML para analisar os dados. No exemplo mostrado, é assim que são extraídos os dados e o título de cada artigo. A fórmula em B7 extrai a data e apara caracteres extras com a função MID para criar uma data compatível com o Excel:
=MID(FILTERXML(B4,"//item/pubDate"),6,11)
A fórmula em C7 extrai o título:
=FILTERXML(B4,"//item/title")
Notas
- Quando WEBSERVICE não consegue recuperar dados, ele retorna um #VALUE! erro.
- Se o resultado de WEBSERVICE tiver mais de 32.767 caracteres, ele retornará #VALUE! erro.