Skip to main content

xlOil

xlOil provides framework for interacting with Excel in different programming languages. It gives a way to write functions in a language and have them appear in Excel as worksheet functions or macros or have them control GUI elements. For example, the Python bindings can replace VBA in almost all use cases and even provide functionality not available from VBA.

xlOil is designed to have very low overheads when calling your worksheet functions.

xlOil supports different languages via plugins. The languages currently supported are:

  • C++
  • Python
  • SQL

In addition there is xlOil_Utils which contains some handy tools which Microsoft never quite got around to adding.

The latest stable documentation is here: https://xloil.readthedocs.io/en/stable.

xlOil features

  • Python
    • Concise syntax to declare an Excel function
    • Optional type checking of function parameters
    • Supports keyword arguments
    • Choice of globally declared functions or code modules limited to a single workbook like VBA workbook-level functions
    • Tight integration with numpy - very low overheads for array functions
    • Understands python tuples, lists, dictionarys and pandas dataframes
    • Async functions
    • RTD functions and on-the-fly RTD server creation
    • Macro type functions which write to ranges on the sheet
    • Access to the Excel Application object and the full Excel object model
    • Drive Excel through COM automation
    • Hook Excel events
    • Pass any python object back to Excel and back into another function
    • Simple add-in deployment
    • Two-way connection to Jupyter notebooks: run worksheet functions in Jupyter and query variables in the jupyter kernel
    • Create Ribbon toolbars and Custom Task Panes
    • Return matplotlib plots and images from worksheet functions
  • C++
    • Safe and convenient wrappers around most things in the C-API
    • Concise syntax to declare Excel functions: registration is automatic
    • Deal with Excel variants, Ranges, Arrays and strings in a natural C++ fashion
    • Object cache allows returning opaque objects to Excel and passing them back to other functions
    • Simplified RTD server creation
    • RTD-based background calculation
    • Create Ribbon toolbars and Custom Task Panes
  • SQL
    • Create tables from Excel ranges and arrays
    • Query and join them with the full sqlite3 SQL syntax
  • Utils: very fast functions to:
    • Sort on multiple columns
    • Split and join strings
    • Make arrays from blocks

Supporting other languages

You can use xlOil as an end-user of these plugins or you can use it to write you own language bindings (and ideally add them to the repo).

Metadata

Release files for xloil 0.22.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for xloil 0.22.1
File
xloil-0.22.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
xloil-0.22.1-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
xloil-0.22.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
xloil-0.22.1-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
xloil-0.22.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
xloil-0.22.1-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
xloil-0.22.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
xloil-0.22.1-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
xloil-0.22.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
xloil-0.22.1-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
xloil-0.22.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
xloil-0.22.1-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
xloil-0.22.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
xloil-0.22.1-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
xloil-0.22.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
xloil-0.22.1-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details

Total release size: 36.9 MB

Release files / xloil-0.22.1-cp314-cp314-win_amd64.whl

Download URL xloil-0.22.1-cp314-cp314-win_amd64.whl
Size 2.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
22aa2c2baf4087513e7f6700247ff334db0d3883462b06a78c898ddcedcaa14b
BLAKE2b-256 checksum
How to use checksums
94f68dde8653f7042709948e223bc76982a79c43bbde5bafa9dd5556f31971cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp314-cp314-win32.whl

Download URL xloil-0.22.1-cp314-cp314-win32.whl
Size 2.2 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
b4349d4ac793adeabdc6cd92049716a992a5684500fe2887413d41db72144932
BLAKE2b-256 checksum
How to use checksums
c253127438267e2f196f8a0684cc4a94176aa8b2cf02d0b2c5f61ae680e2116b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp313-cp313-win_amd64.whl

Download URL xloil-0.22.1-cp313-cp313-win_amd64.whl
Size 2.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
727b7ef8144231d47737802b3d7aa196f41032d85f0e0effc9ad429568b87a18
BLAKE2b-256 checksum
How to use checksums
61490723765ef77d3b9b72092b265d93364f7d1a1964b06f45c13ebbf9e0ec0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp313-cp313-win32.whl

Download URL xloil-0.22.1-cp313-cp313-win32.whl
Size 2.2 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
99d80006f17389764942b96ef93aa3684e2679165bfdd301d39b47352728dce1
BLAKE2b-256 checksum
How to use checksums
ca99fb8e4e6333e8a307f6a427fbb0864c739d37e5ec3e6a7a3d3a4339207f64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp312-cp312-win_amd64.whl

Download URL xloil-0.22.1-cp312-cp312-win_amd64.whl
Size 2.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c1a84adbebd6e4cc5ab46a8497e2d16f61d49cb94a842c96398a5f24bb2af543
BLAKE2b-256 checksum
How to use checksums
c0236706f3780f0220b02ed1df917ff3051bb62759201947ebb6509ff023b878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp312-cp312-win32.whl

Download URL xloil-0.22.1-cp312-cp312-win32.whl
Size 2.2 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
922e1446d8396226e41bc154376ba022c3a52a2b6b01c1126487dd482bddfd87
BLAKE2b-256 checksum
How to use checksums
f614bff2242cbd2ea3c89b90cd29c8b8182f48b3690e944104118b8920391ef8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp311-cp311-win_amd64.whl

Download URL xloil-0.22.1-cp311-cp311-win_amd64.whl
Size 2.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
61bcb98d3035969fd1fac1bff00dab18fa015103952b9aa70e7f2e0be017e86b
BLAKE2b-256 checksum
How to use checksums
7cd8c779645e02e556e6508f63c287340b470c58f198d4ab8452d372e6eec627
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp311-cp311-win32.whl

Download URL xloil-0.22.1-cp311-cp311-win32.whl
Size 2.2 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
4d6109c5992caa2d632683d1257917684ed7bbce467c6714c555219a058b41d6
BLAKE2b-256 checksum
How to use checksums
564cdcecdaf4c89d3468422300acc1f69be8dfa8d8b1dedb24e18e6f7ae164b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp310-cp310-win_amd64.whl

Download URL xloil-0.22.1-cp310-cp310-win_amd64.whl
Size 2.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
42fb1731926d369f406ce5508d48f7ffffbff6d4ae7136fd4a377d24c9805e65
BLAKE2b-256 checksum
How to use checksums
ed7826ed280d723247c4eaef2a56dc709566a6975d60f76bdef0afc8b525616d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp310-cp310-win32.whl

Download URL xloil-0.22.1-cp310-cp310-win32.whl
Size 2.2 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
b4126a526dfc5a2b6435a272a206c752fece706e6ba0896f87a10d68a9059f53
BLAKE2b-256 checksum
How to use checksums
51920cfdfd20acf0bd76b2ba2bd598b6156080eb54c1a2962bd6951c1d9df572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp39-cp39-win_amd64.whl

Download URL xloil-0.22.1-cp39-cp39-win_amd64.whl
Size 2.5 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
46f9f4e840e446164fa0a571a18ab5137362af9c4d0f1ca686226842c255dd1d
BLAKE2b-256 checksum
How to use checksums
893e88547a9989c17280b32775447a5502a406fd9cdce41e82cf7c4afe26c296
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp39-cp39-win32.whl

Download URL xloil-0.22.1-cp39-cp39-win32.whl
Size 2.2 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
386eb0f2d97c5e2ace40e4d5a1fc0c31332584fa500cfd55fe2f3ff102337c2e
BLAKE2b-256 checksum
How to use checksums
94922f5adc8acfb55edd09d558ebf3bcb6f2174f533ea5708e0686163a77d767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp38-cp38-win_amd64.whl

Download URL xloil-0.22.1-cp38-cp38-win_amd64.whl
Size 2.4 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
dae1e1bff340b97ed410456d7cdf035f2b4943a33802dbadb7236be80fd62844
BLAKE2b-256 checksum
How to use checksums
43247a9fba3a90fb0bb6e43f10dde6432e0676723fb3ddaa3f671be4e355bae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp38-cp38-win32.whl

Download URL xloil-0.22.1-cp38-cp38-win32.whl
Size 2.2 MB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
a7424d5b2361405d53bdb4d29372acae03253aa8790a28848c5a449a4199cd03
BLAKE2b-256 checksum
How to use checksums
48a837fe5af906ddcbe7a5cccc109cd31467fd0604a727d5dbe23b18cb8ff4da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp37-cp37m-win_amd64.whl

Download URL xloil-0.22.1-cp37-cp37m-win_amd64.whl
Size 2.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
92056d19b22719898e64f9f53ee1efa26d196d9285642a03b762dfb347132c7c
BLAKE2b-256 checksum
How to use checksums
3bcd388384033319a33f86dcb77f4d9d912f4773537dd5ea925ef77869dcc8a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release files / xloil-0.22.1-cp37-cp37m-win32.whl

Download URL xloil-0.22.1-cp37-cp37m-win32.whl
Size 2.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
d188615c15f92b817b0daa7cd199ae4cf1763ca80d71c094934f5a4a81dc8e6f
BLAKE2b-256 checksum
How to use checksums
a2845c406f06096d3a18d33b1d87b1d0722a6de48e3c92f4912fb9e77ee3219d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.22.1 This release

16 release files

0.9.2

10 release files

0.9.1

10 release files

0.9.0

8 release files

0.8.3

8 release files

0.8.2

8 release files

0.8.1

8 release files

0.8.0

8 release files

0.7.1

8 release files

0.7.0

8 release files

0.6.3

8 release files

0.6.1

8 release files

0.6.0

8 release files

0.5.0

8 release files

0.4.6

8 release files

0.4.5

6 release files

0.4.4

6 release files

0.4.2

6 release files

0.4.0

6 release files

0.3.8

6 release files

0.3.7

6 release files

0.3.6

6 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page