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

If you're not sure about the file name format, learn more about wheel file names.

xloil-0.22.0-cp314-cp314-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.14Windows x86-64

xloil-0.22.0-cp314-cp314-win32.whl (2.2 MB view details)

Uploaded CPython 3.14Windows x86

xloil-0.22.0-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

xloil-0.22.0-cp313-cp313-win32.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86

xloil-0.22.0-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

xloil-0.22.0-cp312-cp312-win32.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86

xloil-0.22.0-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

xloil-0.22.0-cp311-cp311-win32.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86

xloil-0.22.0-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

xloil-0.22.0-cp310-cp310-win32.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86

xloil-0.22.0-cp39-cp39-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.9Windows x86-64

xloil-0.22.0-cp39-cp39-win32.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86

xloil-0.22.0-cp38-cp38-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.8Windows x86-64

xloil-0.22.0-cp38-cp38-win32.whl (2.2 MB view details)

Uploaded CPython 3.8Windows x86

xloil-0.22.0-cp37-cp37m-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.7mWindows x86-64

xloil-0.22.0-cp37-cp37m-win32.whl (2.2 MB view details)

Uploaded CPython 3.7mWindows x86

File details

Details for the file xloil-0.22.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0e2bb45a648025b064477a2107824ce70727902fedd802e0f3e3db4d3c771efb
MD5 298b43185f1316e5be4a0eabfe0183d5
BLAKE2b-256 ef740ddea9c978c550c76d6757c94c19ca6a8562022c03777fd2ca67a3053171

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 898e7cb69b3b006285a1066398fc02b9311a8d5220b851d74ac985ae536ca7f4
MD5 f65c90477499cc00df1c9064524a5d35
BLAKE2b-256 73cde08014b1335af0d2c8e999a02076be5125e137a9315162aeb21c5fa5e79a

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 afbdbc256ae3356a37f2ef399b524a7756701aa3c82eacb5404c1c1dd222d4e8
MD5 a0e99bafd11d1ca47b4cee4155e48242
BLAKE2b-256 d4d5b1f9b732c8429f8dba0631540f33acd56607b22806b3ab408a5f191f9e39

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 160bdf27f0a28438bfae86239ec8b76310d6bf244a238a1f0cef0c708460c76f
MD5 99caeb4e69938d6d166b42e7db059964
BLAKE2b-256 f905bfe71a11f173d5c9e3654b0bc3d8af01895da501d7633ff988f2577a411e

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 876d0f8f7a4edf083adc731452ebb3cee84c87e6f15f5f01f908b1b4a76fb510
MD5 d7ae016d1b5e0ebda05405b99823fc86
BLAKE2b-256 8712b7241adfb9e3844a4a8899a66a987f9c1fdb82e764a406e97594c1a383e4

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 cb0ebcdb6273140a7753a19e46fe58033fb97f36ef46bb970f66c9a69ec3b9e8
MD5 a2bb630d68f51d07cda43e4522ff3538
BLAKE2b-256 97eaaa776c2cbae95a24d3c97449a79fb93390af5615f4b0f754f07dbbc8b36c

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5314e684347d8768f8bb66feb01572929017825d5728062b20b11dafbf083f67
MD5 ff9619aa0e43b6e452ee6dc2f60810d0
BLAKE2b-256 4d84b727435a2581613c3bee7bda45259d6d1ce59b4ff95e60c3c0367283eac7

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ec8a2a8c9e9761467a78bf8859bbb296bf28984c601641ef5817ab68985c4146
MD5 ebd4fa2ddd0f6540df372952adf8ba66
BLAKE2b-256 be5326876664e7a58ba59abd2349f5977608f5db4599ef317d4f7800abc51636

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2ebf6e6363af0e28b81767e8e9ef610872bb54b0b27d2049b53c16a090ca8932
MD5 38eb533bc65d4448c5896c693749e5a6
BLAKE2b-256 c4f6421ab2f24b8a97a0ca9f4aea90131b76564b6b840eb25d49943f47eaf14c

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9cff08e0f72e483a0785d79811284caa07283ef7698394ec707ad8aeb55de2b1
MD5 e014b383561ca6538d37b6ce8dbcb24f
BLAKE2b-256 70e3555e991c28f21a66faef1e43ad51d3e9fcf52944ad68d5e23494220cc742

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5a6eee0797643758d0ae874df2d889d8565678abd6ea712d91db04f30420629a
MD5 6b700509af8d9ac21f91628e081752fb
BLAKE2b-256 5293b083354c8460b83ed28be2dc9eb4942810854858736508b6d0c72ccd2e1c

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 1bda760740558f242c36834f110121335a5f49dbdb0478dfbddab31a5a428508
MD5 23cf02a225d40756f05a124a906f945b
BLAKE2b-256 a71d81cee6c9859e50c4bd38b27398a2bba313665909ba7d0d1dbfd13135359a

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f9216fc7db8c3cf9cb745e3331ad228d2f1d4fb5f4e5432f213a8c50fadafdb5
MD5 c826156ef7a04a753430669d12d220d6
BLAKE2b-256 3cd7eba5372a4541d7a2c50c93cd59215a39acb28a9310d81595333bfd60e2be

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 3857e8f477c48ef34ddeaed463cd732dbd5dfdd07679deedbdf1a12fdf233249
MD5 37403c60cb0d973c4757c86d2b96434e
BLAKE2b-256 0ff981188814ee7dba50ff9af8d9cdb50ec91a1ac3657c479dbe1e85c32cc1fc

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: xloil-0.22.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 75d42539610c8e92d34fc53cd0c84052785cbb748e9a643da514ec96d544268a
MD5 094b723535a7c5df9cff5251d1592fd1
BLAKE2b-256 1320ecdb7c4c6efb8496ffa70be28c792f5a6516899ef74d7899638ec72f64e6

See more details on using hashes here.

File details

Details for the file xloil-0.22.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: xloil-0.22.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.14

File hashes

Hashes for xloil-0.22.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 fe0cc45d1574c5bba18d1caa14725ec05fb34715146b1c238232a3a4d94487d2
MD5 868536bac2968c6d6a024828d63be260
BLAKE2b-256 7ecac9576f3593cbd579b589c599bddff03532939960670953b341cb8f3b2922

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