Excel, REST a XMLMAPS. Import vs WINHTTP

Obsah

Z nějakého důvodu to dráty nikdy řádně nepřekročily; protože můžete importovat XML do Excelu přímo z adresy URL, není nutné používat WINHTTP k provádění jednoduchých dotazů na REST webové služby.

Původně jsem tuto techniku ​​začal používat po zobrazení kódu Amazon Web Services, který používá WinHTTP, ale není to nutné pouze pro vyžádání XML z webové služby.

Důkaz koncepce: Zde je ukázka použití rozhraní Yahoo News Search API k získání nejnovějších zpráv Yahoo na téma „Dan Rather“ do Excelu. To vyžaduje verzi Excelu, která podporuje XML:

1. Zvýrazněte a zkopírujte toto URl:

http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=Dan+Rather&results=10

2. V aplikaci Excel přejděte na Data-> XML-> Import

3. Do pole Název souboru pomocí zkratky Vložit (CTRL-V) zadejte adresu URL, kterou jste právě zkopírovali, a stiskněte klávesu Enter.

4. Excel vás vyzve k zadání buňky do seznamu výsledků Yahoo News

Právě se nám podařilo použít službu Yahoo Rest Webservice k přenosu dat do aplikace Excel bez WINHTTP. Mějte na paměti, že je to příklad holých kostí. Chcete -li to vysvětlit, přidejte mapu do sešitu a použijte XMLMaps.import namísto příkladů WINHTTP, které používám.

Kdy bych aktuálně používal WINHTTP s webovými službami REST? Můj zatím nejlepší odhad:

1. Když je pro službu vyžadováno přihlášení. V takovém případě musím použít SetCredentials

2. Když nechci importovat data XML do mapy XML, chci pouze nezpracovaná data. Například chci manipulovat s daty před jejich zápisem do tabulky nebo případně procházet XML a vybrat a zvolit, která data se mají zobrazit na základě vlastních kritérií.

Nakonec XMLMAPS.Import a WINHTTP fungují pro náročné webové služby REST, nicméně ten druhý vyžaduje několik dalších řádků kódu. Budu klopýtat s webovými službami, dokud se to nenaučím (a samozřejmě: opravit to správně). Zajímalo by mě, jestli má někdo jiný REST příklady pomocí Excelu?

wave wave wave wave wave