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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 Windows x86

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

xlOil-0.18.2-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

xlOil-0.18.2-cp310-cp310-win32.whl (2.0 MB view details)

Uploaded CPython 3.10 Windows x86

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

xlOil-0.18.2-cp38-cp38-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.8 Windows x86-64

xlOil-0.18.2-cp38-cp38-win32.whl (2.6 MB view details)

Uploaded CPython 3.8 Windows x86

xlOil-0.18.2-cp37-cp37m-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.7m Windows x86-64

xlOil-0.18.2-cp37-cp37m-win32.whl (2.6 MB view details)

Uploaded CPython 3.7m Windows x86

xlOil-0.18.2-cp36-cp36m-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.6m Windows x86-64

xlOil-0.18.2-cp36-cp36m-win32.whl (2.6 MB view details)

Uploaded CPython 3.6m Windows x86

File details

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

File metadata

  • Download URL: xlOil-0.18.2-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/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 af1baff8bf814b58c3ecf60d62fd71c29bdd3642efcccb90c6dc0f261cd982c5
MD5 832b68fd67d164011bc49c35f38b8a81
BLAKE2b-256 4695967cdec64583ff0699e4be19c546765275aecd3bbee2f19ae73ef6e60adb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 05ebde7c7fa3d196fe4a62af13ca157424c983ba05b4422aa1e2bf0c083b1d21
MD5 20a2a8f9246332e17a3c40ab608c262a
BLAKE2b-256 1be97ed21464167b8bc7e06c2c492832ce169e3282930166929032cdfa6e75f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-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/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1fbdd3adb5a72923b8437a3ebaa187029c239449c16d52e295e18aba1d975cc0
MD5 a65cf7f656ba0fc80e13a13e70713014
BLAKE2b-256 d30b3129bb62b7dfa20b775468ae2a510e4f8b629171f79ea2f186610db4bec0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 aef07c40734425fcdb074f48ff2b88ac7415b7c2e6684824e20633c223769674
MD5 9e1f8d213779a69e3a771b038b4cb968
BLAKE2b-256 7e70d542331478142f5a01a1bf06312866e50cb1f686a38f701ce90da36d3c8c

See more details on using hashes here.

File details

Details for the file xlOil-0.18.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.18.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 828c31609577ea65b1a4881546e482af7c38c8d2fe1d64807cf4ae39cb5e29a0
MD5 4f049892286f58fb151af3f4f228faeb
BLAKE2b-256 e091e215fc9090c2612a910a4cc549dc55018182fad9907141968e0d7ee23476

See more details on using hashes here.

File details

Details for the file xlOil-0.18.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: xlOil-0.18.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2f7e94cafd79b235c4d15942cd409f40b68a365ec1a3a7a7821f9aff05e4a76d
MD5 8f74df0730150e57193120f97bb42bfe
BLAKE2b-256 f1d0e15d11362316394c4302a39c1067da6386ad4d719eb107d7886c2c2d082d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-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/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e02c07490739755bbd636b02bd9117cd09d6f7dbc0fa7e6318142036e5c87082
MD5 0a488431c9e46314cf41ee7a8ee1dff7
BLAKE2b-256 054e88bed5a37b80575ea0bb43d261050b23f5f5699b0ae6c52a663bab280d26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 72ea9aa1dc9db9895934f5e3626cc35fc9dc13ea43e84917cb80827b257ce87a
MD5 a7ed2369994fd096e082d8f2d632ffea
BLAKE2b-256 55e01f72ffc8037e44555649d7d2b278004cdbc9c2a7545a6d16b30387ccbb9d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 25f63c540d9c0aa6626fed51f60a2cf15e09ae1f4b6de032707b00eb1ab6b62f
MD5 56db8b3d8dead171d5435a3f2535c2e9
BLAKE2b-256 6607c5a668849fbb3efa8ba68c1118404c67856235ad6d48113c403a6d2ae435

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 07ca468964547c2e2ca6665476bdc5d6e8cd2771a22c39836167b4d9fd579bfe
MD5 6f100360d2f8050b1528adca1b96af52
BLAKE2b-256 c88d2702e87600d9eb0ec5618b6dfe4250583c3e9463c5ee0ffd4151dd43852c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9d5353e06d4263392bdee030635b4e2655ab72561745a0690bb7e520ac7f9b61
MD5 446b76360880028c5d169dc9afcda7e9
BLAKE2b-256 dccee0b3d7c022936ed6ddb00efb29e1d5060f305c399ca99dc7876153ed8c9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 c324b9c856bf3e7b256026fcd13751e4f4b6e727f509d4e4bbf7603cfff28211
MD5 28024242ad0fd3b9f90276c70519496a
BLAKE2b-256 08b93aac36a8198da2389ef114ef34767b35471666539c7a325040dee97ea2b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6cf01de978bebe128af0218a8f5bcc71de0a621936208f341c4bda242c6b7c69
MD5 b57d96b1f6ae8433655e8f2d40d3fddd
BLAKE2b-256 f7b5dfdf1dceeb033d99885d78c3aa8935ca34fc3b8410eab359ddb70b92f6fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.18.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.9.15

File hashes

Hashes for xlOil-0.18.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fd6612a4ce484779dd96d3aef480a84f7c65a803fc78396a7527aec6c417d3d5
MD5 fb34ae0f7085dc69f2078c88e1be52aa
BLAKE2b-256 222e5a7dce33f0ab80923a67c809ed101b7b513a65740b6cba8d0eb49caa8e02

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