Skip to main content

Excel interop for Python and Jupyter

Project description

xlOil

xlOil is a framework for building Excel language bindings. That is, a way to write functions in a language of your choice and have them appear in Excel as worksheet functions and macros.

xlOil is designed to have very low overheads when calling your own 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 go around to adding.

You can use xlOil as an end-user of these plugins or you can use it to write you own language bindings and contribute.

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

You can build the documentation from a clone of the source with:

cd docs
make html

xlOil features

  • Python
    • Very 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 just 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
    • Hook Excel events
    • Pass any python object back to Excel and then back into any python function
    • Simple and quick add-in deployment
    • Two-way connection to Jupyter notebooks: run worksheet functions in Jupyter and query variables in the jupyter kernel
  • 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
  • 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

Project details


Release history Release notifications | RSS feed

This version

0.8.3

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.8.3-cp39-cp39-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9Windows x86-64

xlOil-0.8.3-cp39-cp39-win32.whl (1.7 MB view details)

Uploaded CPython 3.9Windows x86

xlOil-0.8.3-cp38-cp38-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8Windows x86-64

xlOil-0.8.3-cp38-cp38-win32.whl (1.7 MB view details)

Uploaded CPython 3.8Windows x86

xlOil-0.8.3-cp37-cp37m-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.7mWindows x86-64

xlOil-0.8.3-cp37-cp37m-win32.whl (1.7 MB view details)

Uploaded CPython 3.7mWindows x86

xlOil-0.8.3-cp36-cp36m-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.6mWindows x86-64

xlOil-0.8.3-cp36-cp36m-win32.whl (1.7 MB view details)

Uploaded CPython 3.6mWindows x86

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a451c67647b00907a5287abe75cb1ee42a91b6acff7140e2f6ae9d1afe2976c1
MD5 640c5a4ce68dfddc39737b76ffc09b2e
BLAKE2b-256 84bc8554fc9dccf0b7f6be81c0b2a50a09cfdace1be442fc31c38dde365fe7c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f9dae82848f5c4b102b76db73217493a8be602c26f227531c0e66b61d2eccb78
MD5 620a867111e67579fcc77291c8b2e041
BLAKE2b-256 f6a81470c2150d074daeb3bc448bb4dfdf88184f58b243f45b33b882b812b6d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8a065cc501d330952ebbbe3b5914c95604539f13a40472d7a0fc455cba0c06c4
MD5 37bcd28aefa0927a5e1faac559de8ba3
BLAKE2b-256 d648bf03c416214ee11225a4f96a514e56a642793bf1ca44ff22bbed9357092c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c19b81372c166167ad8eac654c0acd4d5526bb240f704192ca07c2c22ff447e6
MD5 536407514eff0ce47bb54435a2b775fb
BLAKE2b-256 91cf7a6ee8054c0f33a53f0197b668638e43f3f88035e5f166c6c8e343c45ee6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f19fc21ea7950aa7b6e691b1034ed2b9832ac218775def0c00689aad2ec8dd6b
MD5 e1a51cceb8e90fd973c3c80edf7f8588
BLAKE2b-256 c5d30f50634f68a2031e3d5e5f2358d7af7e3809a0fea2c63026744b4c930c24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e0fe38542ca3baeeb331779412ad099b2b4027bb6a828f65138a0eb284fefecd
MD5 773de2a8323f5914934e07a72d1171d7
BLAKE2b-256 410971fe1697cd74ff303c3acff4ad1f284f1d4c6bd43244bb57fede83b9796c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 060ee9f9161fabe4e4cc30864a3567317d03030e22ef563b8ae2600cd51e33ca
MD5 645fdbed667011d05f1600e1017d17c4
BLAKE2b-256 85a590b0a658728e106b765e86b01c382de4d951221ab518507a12ec08dd4223

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1

File hashes

Hashes for xlOil-0.8.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 004ee2f5e9d74dd0e2631c690c5335d48734100b809e407309814586c52294c1
MD5 ea7dd39301132d470fb253c770c25079
BLAKE2b-256 c9534223e35f581daf92ee5eb5610d498d3504a4e31712fae8001ae162be2b5f

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