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.19.1-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12 Windows x86-64

xlOil-0.19.1-cp312-cp312-win32.whl (2.0 MB view details)

Uploaded CPython 3.12 Windows x86

xlOil-0.19.1-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

xlOil-0.19.1-cp311-cp311-win32.whl (2.0 MB view details)

Uploaded CPython 3.11 Windows x86

xlOil-0.19.1-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

xlOil-0.19.1-cp39-cp39-win32.whl (2.0 MB view details)

Uploaded CPython 3.9 Windows x86

xlOil-0.19.1-cp38-cp38-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

xlOil-0.19.1-cp38-cp38-win32.whl (2.0 MB view details)

Uploaded CPython 3.8 Windows x86

xlOil-0.19.1-cp37-cp37m-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.7m Windows x86-64

xlOil-0.19.1-cp37-cp37m-win32.whl (2.0 MB view details)

Uploaded CPython 3.7m Windows x86

xlOil-0.19.1-cp36-cp36m-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.6m Windows x86-64

xlOil-0.19.1-cp36-cp36m-win32.whl (2.0 MB view details)

Uploaded CPython 3.6m Windows x86

File details

Details for the file xlOil-0.19.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.19.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0a988059c75cb406aefcc0461144b3bca144e53bbae3c7950f6729b02bbd9b62
MD5 559ec379d3afc30579c20a56f9d7a087
BLAKE2b-256 52df45cab59e939a90307c5c0527d1f8c9bf4e464fe298209322fe614b85bab1

See more details on using hashes here.

File details

Details for the file xlOil-0.19.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: xlOil-0.19.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 36c9d078ad806042855b93537e5843ac232cb223284aeef794c9584fad28edc5
MD5 87f2c5e0932991f123bd8647538e4756
BLAKE2b-256 20ccf599b46b10cfc87d7c553c7db5047b4278e60f6cc3c681d79b81169381a3

See more details on using hashes here.

File details

Details for the file xlOil-0.19.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.19.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3b4ec79a82a0afb7fcd44d9054a119d0039f34a4a4a551d53f4e638a37289624
MD5 f7fefb33c94f17bd73c57433680fca26
BLAKE2b-256 713872b89ca45d6de9e439c984cf108b332ef8c78531f397f251bb2dc7fee951

See more details on using hashes here.

File details

Details for the file xlOil-0.19.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: xlOil-0.19.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 47cbc955b9e9b87320a5e2cedb4710208335c4e20a929abd5332b6bd5e11af86
MD5 0dd884d00e63102436c30d0498c3d32d
BLAKE2b-256 32ee3ec6a7ecc9345d317b460e3f968e5d817246327096e4254ceeef540e4a14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fc6af29f7f7ab85f324fbd64557493aead282ec433d1a984f58ef3e91a7906d3
MD5 878882ecedd775631fcd1310b472ddd8
BLAKE2b-256 02a41690db2b36529b09a9ad123b2b1dec218540932496a23034c3a91046ae08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a064c6f22501c75c3bc1b6820789f861a10222083a26473ecdc8d07d6c6b7987
MD5 f8cb6c0b4011ac95e3274dfb5fbf210d
BLAKE2b-256 9d2d4eeb9de93b492458f882349a3b433361b3c139db93ff7186984de4bb6b46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 452402bad9aa3d467a0fe77a0d41af47a60e2ba487a8a5fc48e89baec44fe464
MD5 06e841ac55ee291d4278c9280f057a87
BLAKE2b-256 ff660a4921fc6f072079bf39a7b6512b88ccc2707a1f1a0be3203f2862b687a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 484394e6f0b0c9978c3a286f27a151922b5db5386bf10031156e27ed4e46cc09
MD5 e7824e7cf9c1c7294d9f63642dd8a023
BLAKE2b-256 fd85b7ecb0c25a28b0370834303923b42950973deac2e09d599713c39317b86c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 78d969c9d69f9d05b1954b19cb361ea7c8b43100977db05517d5289127cc2081
MD5 3a7ed39a09719c82b545a158890e94ea
BLAKE2b-256 e5438189763a4a0cfcba0b458b57748f78f2689dc137293b56b6c85e9e66144b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 f693f318c501382a0d69cd5d455871426fc980e427adbcf4f13f55de7a555ebc
MD5 9e9f6d98518e0e51c911d606d6cdfa78
BLAKE2b-256 fb5721a94fb7e35bf29b607f3b6843bcdc73e94565829eb8407071e572cfe271

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 09807ab0a9ba0edb8f3055d7686e8257beabe95ffa834c9a4e142256fa82be78
MD5 e680a6ab942fca504d5e06a9b562f1a7
BLAKE2b-256 f0d26fccf75af0c6636e44d91f59c0c96023ac88152ebef41b7162a2e0227642

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.19.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for xlOil-0.19.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 219a99434e287dd4e151aba5d341112b2904eac4052729ded0796be34282ec50
MD5 3773cee60fe26550f830a907dfc3b6e2
BLAKE2b-256 1306a818737ff21070c6edcfc0fe47aa7ee7c368a4a43eb04cc54d7e7c04d321

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