How to create an Excel app that runs Python?

Paolo G. Cantore paolo.cantore at t-online.de
Tue Mar 24 13:37:55 EDT 2020


On Tue, Mar 24, 2020, 4:45 PM <farayao.ds at gmail.com> wrote:

> I have the following scenario:
>
> I have created lots of python files that I use to calculate a Cashflow
> model, when I run these files I get a beautiful pandas DataFrame that
> contains my final model. My mission is to show this table to the rest of
> the company in a friendly format ("Excel") and they need to be able to
> generate this table themselves from Excel, using the Python script I
> created ("the idea is that they open an excel file that has some type of
> dashboard and a form that they need to fill in, once they fill it in and
> press "Go" or "Run" or something like that, these parameters will be sent
> to the Python script to generate this final pandas DataFrame. Finally this
> DataFrame needs to be displayed/pasted in the Excel sheet that they
> initially opened)
>
>
> The problems:
>
> The company needs to be able to run this model, but the users, apart from
> me, use Excel and they can't open up a Jupyter notebook or VSC to run the
> code. They can't even install Python on their machines (or at least that is
> not ideal)
>
>
> My Attempts:
>
> I am currently using "xlwings" to run Python within Excel, although it
> requires that the user has Python and xlwings installed and has added the
> xlwings "Addin", which is not an ideal solution at all.
>
> I am thinking about using Dash, I don't know if it is what I need since I
> haven't looked into it that much yet (I have been trying to make it work on
> xlwings first)
>
>
>
> If you have any suggestions on how to do this, I would really appreciate
> that.
>
> Thank you
> --
> https://mail.python.org/mailman/listinfo/python-list
>
The scenario you describe should be fulfilled by a web application.

I'm sure your users are also able to use a browser, not only Excel.

The HTML forms management offers the GUI capabilities to enter the 
parameters. The processing steps could be as follows:

1. Enter the url for the application in question and display the form.
2. Enter the needed data in the form.
3. Process the data (with lots of your python scripts) and show the 
result in the browser.
4. If all is ok, download the data sheet in Excel format (using 
DataFrame.to_excel)



More information about the Python-list mailing list