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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m Windows x86

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 36a0310c5a70e9f60883b71f689681218f74444d3ebc96c5df46675d45ad2448
MD5 4ee1bcb1e60479ea08d405df036e67eb
BLAKE2b-256 919423cc89cc305c631ef919b0a991c087a884cb529db6f4acfab3f7221ece39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 d13789fe92dca31f41b4167b41fd5ffcf3f2c9617def3af70128cdfa51e78610
MD5 527891205dcf5f170506155bfe0d6aa6
BLAKE2b-256 d5e69880de6044d4e6d590c7c541f9b44f61e5b546640792ee954fe29ebdaf88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0399c56737360edb885280039ae0b25dd3dc3600f75452fa09bd5f224c9cba56
MD5 1b030f3f9c12103c1640533e07d349c4
BLAKE2b-256 05b1eed79673e2289b98387375f970478c6eb72f2da478fa23f38d9d58c4e746

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 63becec1e5c1bc93a98a782b26e4bd28fa8caf05cf0d5a153f9b91784f0758a6
MD5 690941d4dd58ad9d4652a66d095b00bd
BLAKE2b-256 b818250998e8d5584acb922ce07c5aa79885345e7a1dfeb02ecbe5f4dc368166

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 add5fdac185f746eff92d50555b3895517c2a2168c033bea59b5cc2087693ec9
MD5 b2c3df96c44a968cedcadc8889de50a3
BLAKE2b-256 570dbaa40c2dcb33082b93b8dec34ff8e188eed6a1b9d7420c3842903ac85bb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 59354a0cc284262b4d128f42a6f35935cf08a6d6bc035724975146bba60793d1
MD5 2b081a0968bdc68072ee4508ebeb6fc7
BLAKE2b-256 126189f295f89df03561c74908be1fa87948d7c73ba44c639a775d9ed804a7cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 aa165f42ab801920f1be73a2fc50190ea957ae90f89fa930b3e7d52aa7bd369e
MD5 1aa17ac3c830eced763f67aac02813a0
BLAKE2b-256 4a70afdd83dc8ea358b6d62fcfd36e765660e038600986ddfd151cbe380f8121

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.7.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/3.10.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.1

File hashes

Hashes for xlOil-0.7.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e42fd2e097e9a27aa5e1b34b61028bd8ef37c9d3eb8f55a129d9d90a6f2ae146
MD5 3ed819ef113e4e6f776f2842a74eff05
BLAKE2b-256 77ed8383dbd038c1eaa0fc09d83032d9df233bd3f0b0276732122d74a9213a6a

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