xloil
xlwings
xloil | xlwings | |
---|---|---|
5 | 25 | |
117 | 2,840 | |
- | 0.7% | |
8.8 | 8.4 | |
about 1 month ago | 15 days ago | |
C++ | Python | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xloil
-
XlOil: The fastest library for writing Excel functions in Python
I recently discovered xlOil after many years with xlWings and periodically checking for other options out there. xlOil is an order of magnitude faster than xlWings or VBA (benchmarks taken from here: https://github.com/lukedays/excel-benchmarks) while still being easy to use and the most feature complete!
With xlOil, you can easily write functions in Python and have them appear in Excel as worksheet functions and macros.
What sets xlOil apart is its ability to have very low overheads when calling your own worksheet functions. This means you can write complex functions without sacrificing performance. xlOil supports different languages via plugins, including C++, Python, and SQL.
With xlOil, you'll have access to a range of features that make writing Excel functions in Python a breeze. For instance, the Python syntax for declaring Excel functions is incredibly concise, and you can use optional type checking of function parameters and support for keyword arguments. xlOil also offers tight integration with numpy, so you can enjoy very low overheads for array functions.
Another advantage of xlOil is its support for a range of data structures, including tuples, lists, dictionarys, and pandas dataframes. Additionally, you can use xlOil to write async functions, RTD functions, and on-the-fly RTD server creation. xlOil also supports macro-type functions that write to ranges on the sheet, and you can access the Excel Application object, hook Excel events, and pass any python object back to Excel and then back into any python function.
xlOil even offers simple and quick add-in deployment and two-way connection to Jupyter notebooks, making it easy to run worksheet functions in Jupyter and query variables in the jupyter kernel. On-the-fly creation/destruction of COM addin objects and Ribbon UI is also supported.
Check it out on Github and star it to encourage the developer to keep supporting this great contribution to the Open Source community!
https://github.com/cunnane/xloil
- GitHub - cunnane/xloil: xlOil provides framework for interacting with Excel in different programming languages (python & C++ currently)
-
XlOil: Easy Excel Integration for Python and SQL
Some benchmarks here comparing to xlwings: https://github.com/cunnane/xloil/discussions/6 (although these are slightly out of date and xloil is now faster)
-
Running python from excel
xlOil https://github.com/cunnane/xloil
xlwings
-
Python in Excel: Combining the Power of Python and the Flexibility of Excel
Reading the headline, I initially thought that Microsoft bought the company behind XLWings [1], which also enables you to use Excel directly within Excel, even locally. Not affiliated in any kind to that company, just used it in the past.
[1] https://www.xlwings.org/
- Microsoft is bringing Python to Excel
- Python for Excel: A Modern Environment for Automation and Data Analysis
-
Running python from excel
xlWings https://www.xlwings.org/
-
Creating slicers with xlwings
I'm trying to automate a report and I know xlwings does not support pivot tables and slicers, as it is essentially a pywin32 wrapper. You can directly reference the COM object using .api and constants
-
VM for python automation projects
Also you can also use xlwings library to build an excel add-on to replace or even augment VBA.
-
Help with Python automation at work to free up time as single Dad.
You want xlwings (my preferred) or openpyxl
-
[Question] Can I automate this? Sending emails with a file that needs to be updated.
You could look at using Python from Excel using xlwings.
-
Microsoft upgrades Office security by blocking VBA macros by default
Xlwings is superior anyway.
-
Any ways to use excel to run a, say, python script?
xlwings - open source and free - https://www.xlwings.org/