Python for Excel Scripting Under Consideration
Written by Janet Swift   
Friday, 15 December 2017

Microsoft is considering providing Python as a scripting language in Excel and is asking for feedback from the developer community. If you'd like this to happen speak up now - and if you have a different idea contribute to the discussion.


The idea that Microsoft should let Excel users and developers do scripting with Python was suggested on the Excel section of the UserVoice site  in November 2015:


Now, over two years later has received what has been construed as a positive response:

We’d like to gather more information to help us better understand the needs around Excel and Python integration.

This is followed by a link to a survey entitled "Python and Excel". The survey doesn't actually ask your opinion of the idea of making Python an Excel scripting language. Instead it asks background questions including "How long have you been using Python?"  and goes on with:

Please choose the functional area (s) for which you most frequently create (or will create) solutions using Python.

What is the top scenario / task that better integration between Excel and Python would help you achieve or make easier?

There have been over a 50 new comments on Excel UserVoice in the couple of days since this response, overwhelmingly in support of the original proposal. In addition after Shahrokh Mortazavi, who runs the Data Science Developer Tools teams at Microsoft posted the news that:

Microsoft is officially considering providing Python support in Excel (finally)

on Hacker News, there's a lively ongoing exchange going on there.

One early point made in favour of the proposal is:

Python is used a lot for number crunching/data science. It has an ecosystem for that. Excel has the numbers. People want the two together!
Countering this comes the comment:

The people that are going to use this aren't programmers. They are going to hate that the code has to be indented properly or it is considered an error.

Personally I agree with both these comments. There is an obvious synergy between Python and Excel but spreadsheet users would find the discipline imposed by Python irksome. On the other hand this comment makes a good point:

This should have been a no-brainer a decade ago. And please integrate Python with Excel’s GUI designer - that is really the missing piece. Products like DataNitro already integrate the Python ecosystem into Excel. The ability to code GUI-driven Excel solutions with Python would be a game-changer for business users. It would also bring GUI capabilities to python coders. Existing GUI frameworks for Python are clunky and a pain to use.



One thing is indisputable Excel needs scripting language support. But why stop at one language? Python would be a good additional choice and so would Javascript for some use cases. And why not bring VBA, which is still widely used, into the 21st century? As the successor to VB6 there are still developers who would like to use it and given the way in which Microsoft now embraces open source perhaps it is time to revisit the 2014 decision not to open source VB6. Python is a fine language but when most of the work in writing application scripts is about the object hierarchy the actual language used doesn't make a huge difference. After all cell.value=0 is more or less the same in any language and we have so much invested in VBA.

More Information

Python as an Excel scripting language

Related Articles

Getting started with Excel VBA

Arrays in Python

Advanced Python Arrays - Introducing NumPy

Microsoft Refuses To Open Source VB6


{loadposition signup

{loadposition moreNEWS}

{loadposition moreNEWSlist}

{loadposition comment}

Last Updated ( Friday, 15 December 2017 )