pyxll | 4 years ago | on: Python for Excel: A Modern Environment for Automation and Data Analysis
pyxll's comments
pyxll | 8 years ago | on: Write Excel Add-Ins in Java
It works by embedding the JVM in Excel and exposing annotated Java (or Scala, Kotlin etc) methods to Excel as UDFs.
You can download the current beta version for free: https://exceljava.com/download.html.
I'd be interested to hear any feedback you might have! If you have any problems getting started please let me know and I will help you.
It's intended that when out of beta it will be free to use for personal/non-commercial use.
pyxll | 11 years ago | on: Use Python in Excel without add-ins
PyXLL fully supports UDFs (user defined functions) in a fast, efficient way. Calling a pyxll function (UDF written in python) calls into the in-process python interpreter and so there is no cost of starting up a new python process or calling into an out of process COM server.
Excel and Python types are converted to and from each other in optimized C code, depending on the argument and return types specified for the function (UDF). The type conversion is user extensible and so can handle automatically converting Excel ranges to and from pandas DataFrames (just one example).
The full Excel API is accessible from pyxll using the well known and established win32com package.
PyXLL works with Python 2 and 3, 32 bit and 64 bit (all versions from python 2.3 and 3.4).
PyXLL supports newer features of recent Excel releases like multi-threading and asynchronous functions, while maintaining compatibility with older versions.
PyXLL can expose python functions as Excel macros and menus as well as UDFs.
If you want to script Excel from a process outside of excel (eg IPython notebook) you can use win32com very easily without the need for any other package. But, if you want to have a python interpreter running inside Excel to be able to write performant UDFs as an alternative to writing VBA or C addins as far as I'm aware PyXLL is still the only package capable of doing that[1].
PyXLL has commercial support and is partnered with a major python training and consultancy company, Enthought[2].
[1]DataNitro claims to be able to do with, but according to their docs you are limited to only being able to run one Excel instance at a time, which for most real world users is too limiting in my experience.
pyxll | 11 years ago | on: Use Python in Excel without add-ins
pyxll | 11 years ago | on: Use Python in Excel without add-ins
pyxll | 11 years ago | on: Use Python in Excel without add-ins
pyxll | 13 years ago | on: Show HN: Script Excel with Python
This has been around for a couple of years now and actively maintained and supported, and is in use by many organisations already. It supports all versions of Excel from 2000 onwards, with some features only available in later versions (eg asynchronous functions are only in Excel 2010).
It uses cPython so all the standard libraries are usable.
Calling back into Excel is quite straightforward using win32com, and there are examples on the website that show how to do that.
With PyXLL you can write plain Python code that you can use outside Excel as well - so it's quite easy to write a library of functions that can be called from normal Python scripts as well as expose them to Excel at the same time.
I'm not sure what this project adds over what's already available but I'd be very interested to hear what other people's opinons are.