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

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3760c2cf5b2dec5c720cacce45d77578ca1c4a12f2b694f931b8a3af054b22b6
MD5 d7028c6cc058271a4a8d5c66603b21ac
BLAKE2b-256 acea893e588440d1fa17fccd9bb8268ae7918ac411e35f9c12e8adf6fa74e5c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2d2829e8645d0304efdb6a19a214416398852a3595020b85f6bd784cb6c08a41
MD5 9f4203296e20173b22b648298e2740c6
BLAKE2b-256 2289833d9369349e65d81fc5993c72c5329a7c3f2e5f34bf1fa0cbb32f69c1d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 06ff6f8ccdb8d5c7e2d665e210cbf64c557583182e3f80297868b7071cda99c5
MD5 33b22be4fdcefba467223f7f03d75368
BLAKE2b-256 429f1465a90cb6461715787a872ceb4051d7ed892a4ab2098efa9fe728744ea4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b5982cad0c50052f5d7fea9c0a9a5035be12f7adcc289bd15dabfbf67bbaf117
MD5 a0c374c10da3217e63b1b1cd435da43b
BLAKE2b-256 e77394a7498795ce19c33f648ce9cb2eb66eb44bf3b12ecc96b4e19ec3cea9ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 523649c7a1ea5406778c9be5a0dbbb755ab0d9096a2c3038f2a4c92ff070dbec
MD5 c85cfafede7360efec0cc424826ced46
BLAKE2b-256 b79ca90a2bab3ebe7399e7699d1c9abe70f6ad6f34b413904b4410dbc0c34e33

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 5765e66ee824e04502449c336d3eaa300b87d5085423975b5dd28f8cb89efeb0
MD5 bb3d39b6a1f083415fb7a94ba5d0b568
BLAKE2b-256 8e59f834e14816965f007b2684b5689cb8207920ff62f3e9210c99c4db32acd7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ef8d7060b732ac13315a49601086b87ac19e5177a5530aaee3ca65f57c30fff2
MD5 86efdc094dd05dac61f9d71413b79d50
BLAKE2b-256 1362a4930d788ab294a93cb837a3de7ea08eb7d2929a82be62ed4273f2bf6d7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.8.1-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.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 31e5130de7f43aa2de7f4e97354df3c3cf23994205ed04bbf71e965abd19bc88
MD5 71d201646eb90c04e26be8aeb6be3f2c
BLAKE2b-256 187f48645f4c02a86ebca39b676357066712d51146daf4bdcfc5217c779c35b7

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