To get data from a webservice in Excel, I have created an excel addin provide function to get it; user just need type in cell:
=sendRequest(\"http://webservice.com\")<
As the downside of the solution stated here, the proper way to get the async return value for the function is to 1) cache your request's url => returned value to a collection/dictionary, and then 2) refresh your formula