Which way is best to execute a Python script in Excel?

Mark Shroyer mshroyer at awaredigital.com
Thu Jul 5 16:47:02 CEST 2012

On Thu, Jul 05, 2012 at 03:22:01AM -0400, Maurizio Spadaccino wrote:
> Hi all
> I'm new to Python but soon after a few days of studying its features I
> find it my favourite mean of programming scripts to allow for data
> storing and mining. My idea would be to inplement python scripts from
> inside an excel sheet that would store and fetch data from a Mysql
> database. So i need the script to be launched, say, by pressing a
> button in excel and, for instance, retrieve immediately data from the
> mysql table. For what I found in the net, it seems there are three
> ways to control python from excel: 1) run my python script via shell
> using the Run command in VBA, which seems to me the easiest (but maybe
> slower?) way; 2) creating a COM server, for which I need more training
> since it doesnt appear that easy; 3) via Microsoft Script Control, for
> which I saw some example around where It looks like I can 'simulate' a
> python shell via the 'executeStatement' command.
> What would you suggest would be the more performing way to achieve my
> goals as described above?

One thing you could check out is IronSpread: http://www.ironspread.com/

(Despite the name, it's based on CPython rather than IronPython.)

It presents a simplified interface for communicating with Excel compared
to what you get with win32com / plain OLE automation.  I'm a little hazy
on whether the Python scripts created with this plugin are saved within
the Excel file or somewhere on the local system, though...

More information about the Python-list mailing list