
Özet
Excel WEBSERVICE işlevi, bir web hizmetinden veri döndürür. WEBSERVICE işlevi yalnızca Windows için Excel 2013 ve sonraki sürümlerde kullanılabilir.
Amaç
Bir web hizmetinden veri alınGeri dönüş değeri
Ortaya çıkan verilerSözdizimi
= WEBSERVICE (url)Argümanlar
- url - Aranacak web hizmetinin url'si.
Sürüm
Excel 2013Kullanım notları
WEBHİZMETİ işlevi internette barındırılan bir web hizmetinden veri döndürür. WEBSERVICE işlevi yalnızca Windows için Excel 2013 ve sonraki sürümlerde kullanılabilir.
Bir web hizmeti, verileri XML veya JSON gibi makine tarafından okunabilir bir biçimde almak için HTTP gibi bir protokol kullanır. Örneğin, biryebservice.com'da barındırılan hayali bir web hizmetini aramak için WEBSERVICE kullanan bir formül şunun gibi görünebilir:
=WEBSERVICE(“http://somewebservice.com/endpoint?query=xxxx”)
WEBSERVICE işlevinin sonucu doğrudan çalışma sayfasına döndürülür. Bir web hizmetinden alınan sonucun XML biçiminde olduğu durumlarda, XML'i ayrıştırmak için FILTERXML işlevini kullanabilirsiniz.
Misal
Bir web hizmetinin basit bir örneği, içeriği XML biçiminde ortak kullanıma sunmak için kullanılan RSS'dir. RSS yaygın olarak mevcuttur ve kimlik doğrulaması gerektirmez, bu nedenle WEBHİZMETİ işlevini test etmenin kolay bir yoludur. Yukarıdaki örnekte WEBSERVICE, NASA'dan son dakika haberlerini almak için kullanılır. B4'teki formül:
=WEBSERVICE("https://www.nasa.gov/rss/dyn/breaking_news.rss")
RSS, XML kullanır, bu nedenle sonuç, NASA tarafından yayınlanan son 10 haber makalesinin başlıklarının yanı sıra açıklama, tarih, url gibi meta bilgiler içeren uzun bir XML dizesidir. Aşağıdaki ekran bu verileri bir metin düzenleyicide gösterir:
Sonucu ayrıştırmak
WEBSERVICE'in sonucu XML olduğunda, verileri ayrıştırmak için FILTERXML işlevini kullanabilirsiniz. Gösterilen örnekte, her bir makalenin verileri ve başlığı bu şekilde çıkarılır. B7'deki formül, tarihi çıkarır ve Excel dostu bir tarih oluşturmak için MID işleviyle fazladan karakterleri kırpar:
=MID(FILTERXML(B4,"//item/pubDate"),6,11)
C7'deki formül başlığı ayıklar:
=FILTERXML(B4,"//item/title")
Notlar
- WEBSERVICE verileri alamadığında, # DEĞER! hata.
- WEBSERVICE'in sonucu 32767 karakterden fazlaysa, # DEĞER! hata.