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

xlOil-0.13.0-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

xlOil-0.13.0-cp310-cp310-win32.whl (1.8 MB view details)

Uploaded CPython 3.10 Windows x86

xlOil-0.13.0-cp39-cp39-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

xlOil-0.13.0-cp39-cp39-win32.whl (1.8 MB view details)

Uploaded CPython 3.9 Windows x86

xlOil-0.13.0-cp38-cp38-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

xlOil-0.13.0-cp38-cp38-win32.whl (1.8 MB view details)

Uploaded CPython 3.8 Windows x86

xlOil-0.13.0-cp37-cp37m-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

xlOil-0.13.0-cp37-cp37m-win32.whl (1.8 MB view details)

Uploaded CPython 3.7m Windows x86

xlOil-0.13.0-cp36-cp36m-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.6m Windows x86-64

xlOil-0.13.0-cp36-cp36m-win32.whl (1.8 MB view details)

Uploaded CPython 3.6m Windows x86

File details

Details for the file xlOil-0.13.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cd59f5d4e5522f083e2d39d3a1044dd95b706a1336f8ff64b1f78c48f342df70
MD5 4ef87e9f45f7cc5592a5bca563b552bb
BLAKE2b-256 dab998162240fe169ed2173ee65ac2bc01c4a0fdd65d221ae3839095e5cb5937

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 10d44d1a1df94842dd65d19c60afc215f456970fc6315343b44b26af0c998ea7
MD5 c542867e5e679e08919333a48fb10a00
BLAKE2b-256 15bbd24254cca4416bbf7b209bb5b74f98931953ef1b89aeb04ca04653d44b8c

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 48e21697141237c92530268eb47b324cbae7b89d200cada4fc0c7c4a953d35a6
MD5 93cd0cca9017eb2f68e65c5a1db9b273
BLAKE2b-256 be3c8475d0f95fc4060c59c38c179a2b7107dd040e9def99cca1f2a1de11a2c7

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 23fba04f093c49beb5d195ca92eb19b84048b30db79f1ec7a2272c6f7da5a5f8
MD5 05ad84379c6558bc7090c5fa693c94d3
BLAKE2b-256 166ab8d19044148be9b513aa44f675211fcc08f1c3e74bec1a5eb52c56dc0bb3

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b8f27445f0e940988bb403ccd82b45cf0e4b703e76e38c243a4c89fc87639be3
MD5 98ed74118be019d360454e37a02f4160
BLAKE2b-256 501d4aca6a3e084c90f890376ca3af53524f367fa27bfed124191b031e41abc9

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 6b682074eea61db4bf95276b531216ac6a140366c8c35c05b302aeb2a409fede
MD5 7b2935405951d2d876085c2641c4e268
BLAKE2b-256 c59474d6f01656106ee994fbb3a0de1f4d99136e975840af0a474ec8764c1857

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 eb572082d1e14c0235142c1961b1844147ce26ecff02c95901674f64733afa84
MD5 b11240d36cbf7099704f8b38d042d7c0
BLAKE2b-256 70dc13a99e7f5334e65aeec1145ee35070083c3a198874ba69eb86bca97ab73d

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 8c37d8f1cc77397ec1f24ff44cb6f3125a0105f0c14a0af71f090feb0435dd1a
MD5 13a9124d6fda91dc627bafac56edb74a
BLAKE2b-256 256a67882963c0b01b259f92cae0b35ad79afd6bb0f18db78882b2344a13549e

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 eb6e21536466b205df2c7996112bf65cf8cbbc4f1992a375710f495d1c633583
MD5 628684fdb2ce4a1a77561cf15bc8c21f
BLAKE2b-256 4c0a0f4c7a5a32fe74ea0bf01cab6cf9687adee7704cf88dee4715dde06f3589

See more details on using hashes here.

File details

Details for the file xlOil-0.13.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: xlOil-0.13.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.1

File hashes

Hashes for xlOil-0.13.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 9c4e9146020a20a8f99f758ac27059f3f1735ea600d22b5750fe1a21d6250d12
MD5 e05fe066795803a1c1facb320378c20a
BLAKE2b-256 5947d623246ffb05d1e9127a7e0c6fb15b77beb8cc011eae1c78f871daf8e955

See more details on using hashes here.

Supported by

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