Use the win32com library to interact with Excel via COM. Although the learning curve is a little steeper it's not too bad and works great. I used this technique to control ARENA with Python through its COM API to run a whack of simulations (1000-10000), then used python to gather the results, and used win32com from python to finally inject the data into Excel and get it to generate charts and tables that could be used by stakeholders without access to python.
Oliver Schoenborn || Cloud Application Engineer, Owner || Sentian Cloud Computing Inc. || Ottawa, ON, Canada || +1-613-552-4466 (mobile) || oli...@sentianse.com On Tue, Mar 24, 2020 at 7:16 AM <farayao...@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 > -- https://mail.python.org/mailman/listinfo/python-list