Skip to main content

Excel interop for Python and Jupyter

Project description

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).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

xloil-0.22.1-cp314-cp314-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows x86-64

xloil-0.22.1-cp314-cp314-win32.whl (2.2 MB view details)

Uploaded CPython 3.14Windows x86

xloil-0.22.1-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

xloil-0.22.1-cp313-cp313-win32.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86

xloil-0.22.1-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

xloil-0.22.1-cp312-cp312-win32.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86

xloil-0.22.1-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

xloil-0.22.1-cp311-cp311-win32.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86

xloil-0.22.1-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

xloil-0.22.1-cp310-cp310-win32.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86

xloil-0.22.1-cp39-cp39-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.9Windows x86-64

xloil-0.22.1-cp39-cp39-win32.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86

xloil-0.22.1-cp38-cp38-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.8Windows x86-64

xloil-0.22.1-cp38-cp38-win32.whl (2.2 MB view details)

Uploaded CPython 3.8Windows x86

xloil-0.22.1-cp37-cp37m-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.7mWindows x86-64

xloil-0.22.1-cp37-cp37m-win32.whl (2.2 MB view details)

Uploaded CPython 3.7mWindows x86

File details

Details for the file xloil-0.22.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 22aa2c2baf4087513e7f6700247ff334db0d3883462b06a78c898ddcedcaa14b
MD5 d8372955a7ce3821eb32b245528a2982
BLAKE2b-256 94f68dde8653f7042709948e223bc76982a79c43bbde5bafa9dd5556f31971cd

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp314-cp314-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp314-cp314-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 b4349d4ac793adeabdc6cd92049716a992a5684500fe2887413d41db72144932
MD5 7058f1de3a4a4b40efffadcf762a1864
BLAKE2b-256 c253127438267e2f196f8a0684cc4a94176aa8b2cf02d0b2c5f61ae680e2116b

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 727b7ef8144231d47737802b3d7aa196f41032d85f0e0effc9ad429568b87a18
MD5 98edfbc5eed8b0075c2f10d32a563687
BLAKE2b-256 61490723765ef77d3b9b72092b265d93364f7d1a1964b06f45c13ebbf9e0ec0d

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 99d80006f17389764942b96ef93aa3684e2679165bfdd301d39b47352728dce1
MD5 abce7c353f980ac1f3bf14a63b8d493d
BLAKE2b-256 ca99fb8e4e6333e8a307f6a427fbb0864c739d37e5ec3e6a7a3d3a4339207f64

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c1a84adbebd6e4cc5ab46a8497e2d16f61d49cb94a842c96398a5f24bb2af543
MD5 c989304be0a2bc23998daf57207da40e
BLAKE2b-256 c0236706f3780f0220b02ed1df917ff3051bb62759201947ebb6509ff023b878

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 922e1446d8396226e41bc154376ba022c3a52a2b6b01c1126487dd482bddfd87
MD5 12ff4075c6969999d041ca133b4e4f61
BLAKE2b-256 f614bff2242cbd2ea3c89b90cd29c8b8182f48b3690e944104118b8920391ef8

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 61bcb98d3035969fd1fac1bff00dab18fa015103952b9aa70e7f2e0be017e86b
MD5 31479c7b5d3a58c94ad4b8d6d3c00745
BLAKE2b-256 7cd8c779645e02e556e6508f63c287340b470c58f198d4ab8452d372e6eec627

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4d6109c5992caa2d632683d1257917684ed7bbce467c6714c555219a058b41d6
MD5 b991b0027612ff569a67560d542aae2d
BLAKE2b-256 564cdcecdaf4c89d3468422300acc1f69be8dfa8d8b1dedb24e18e6f7ae164b6

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 42fb1731926d369f406ce5508d48f7ffffbff6d4ae7136fd4a377d24c9805e65
MD5 895b8e5f0e3edfe412857bc305aaf233
BLAKE2b-256 ed7826ed280d723247c4eaef2a56dc709566a6975d60f76bdef0afc8b525616d

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b4126a526dfc5a2b6435a272a206c752fece706e6ba0896f87a10d68a9059f53
MD5 9bb3e1ff553e50699721fd5a9b011e34
BLAKE2b-256 51920cfdfd20acf0bd76b2ba2bd598b6156080eb54c1a2962bd6951c1d9df572

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 46f9f4e840e446164fa0a571a18ab5137362af9c4d0f1ca686226842c255dd1d
MD5 1f6e9c1f766f0ff729522a41f5276c64
BLAKE2b-256 893e88547a9989c17280b32775447a5502a406fd9cdce41e82cf7c4afe26c296

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 386eb0f2d97c5e2ace40e4d5a1fc0c31332584fa500cfd55fe2f3ff102337c2e
MD5 49622583b3af2ddad55d3ede05494c77
BLAKE2b-256 94922f5adc8acfb55edd09d558ebf3bcb6f2174f533ea5708e0686163a77d767

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dae1e1bff340b97ed410456d7cdf035f2b4943a33802dbadb7236be80fd62844
MD5 cc9392c698da881f2024965511421bcb
BLAKE2b-256 43247a9fba3a90fb0bb6e43f10dde6432e0676723fb3ddaa3f671be4e355bae4

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a7424d5b2361405d53bdb4d29372acae03253aa8790a28848c5a449a4199cd03
MD5 a41ba624a70b6de6c7ee97951ff9ecaa
BLAKE2b-256 48a837fe5af906ddcbe7a5cccc109cd31467fd0604a727d5dbe23b18cb8ff4da

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 92056d19b22719898e64f9f53ee1efa26d196d9285642a03b762dfb347132c7c
MD5 957297f1003443d52f66cda77b169434
BLAKE2b-256 3bcd388384033319a33f86dcb77f4d9d912f4773537dd5ea925ef77869dcc8a7

See more details on using hashes here.

File details

Details for the file xloil-0.22.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: xloil-0.22.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d188615c15f92b817b0daa7cd199ae4cf1763ca80d71c094934f5a4a81dc8e6f
MD5 6bcb801afe8075bd41c47a98d1c0bbd3
BLAKE2b-256 a2845c406f06096d3a18d33b1d87b1d0722a6de48e3c92f4912fb9e77ee3219d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page