I have a requirement to make a functionality in Excel to fetch and update data to/from a web service and I need to choose a language / tool to develop this.

The features I am looking for.

  1. Multi threading
  2. Preferably it should work on both Mac and Windows
  3. Ideally it should be portable (not must)

Things, I have tried so far

  1. VBA for Excel, its single threaded and hangs excel for a few minutes on large sets of data
  2. Excel-DNA works great but can only work on windows or is there a way to run it on Mac too?
  3. Xlwings works great but require few installations which does not make it portable Are there any other technologies that any one would like to suggest?

1 Answer 1


Websites often contain other data as well e.g. photos etc. on which Excel will need to download before selecting the correct data. Thus the slowness.

If I was you I would create a web service-in-the-middle, which would grab the data and then excel would query that web service.

Also as the webservice will or probably will use, a higher level with more flexibility programming language (e.g. PHP) will make the process easier as there would be more options to fetch the data from the website and also more precise.

Also as you will query between excel and your webservice, in a simpler manner you can probably make it work for both MS and MacOS.

I've made such as webservice from scratch within a few hours, where I would grab price data from websites and then fetch them to excel, from my webservice.

  • Thanks for the answer. It's basically my own webservice on my local lan website. It only produces in xml format nothing else. But since it produces large sets of data. Vba seemed slow for this purpose
    – AhmedRana
    Aug 31, 2018 at 15:21
  • @AhmedRana Then maybe Excel is not the right software to import all these data to? Maybe you could change your web service to show/amend these data?
    – Sonamor
    Aug 31, 2018 at 15:25
  • Actually the only problem I had was when fetching data via vba .. Excel would would become unresponsive for a few seconds. I think it's happening because vba is not multi threaded.
    – AhmedRana
    Aug 31, 2018 at 15:27
  • @AhmedRana That's true VBA is not multi-threaded therefore you will have these issues. stackoverflow.com/questions/5721564/multi-threading-in-vba
    – Sonamor
    Aug 31, 2018 at 16:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.