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

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

xlOil-0.3.6-cp38-cp38m-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.8mWindows x86-64

xlOil-0.3.6-cp38-cp38m-win32.whl (1.4 MB view details)

Uploaded CPython 3.8mWindows x86

xlOil-0.3.6-cp37-cp37m-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

xlOil-0.3.6-cp37-cp37m-win32.whl (1.4 MB view details)

Uploaded CPython 3.7mWindows x86

xlOil-0.3.6-cp36-cp36m-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.6mWindows x86-64

xlOil-0.3.6-cp36-cp36m-win32.whl (1.4 MB view details)

Uploaded CPython 3.6mWindows x86

File details

Details for the file xlOil-0.3.6-cp38-cp38m-win_amd64.whl.

File metadata

  • Download URL: xlOil-0.3.6-cp38-cp38m-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.8m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp38-cp38m-win_amd64.whl
Algorithm Hash digest
SHA256 464145cb9e0dfbd4461bb0f79f72ffa1d0ba0cdc80f61f19ea38e488e5dff2a3
MD5 9d9ac6f8f50c43a76ca17a09e8baf114
BLAKE2b-256 771ef794fe2709666840fbd0e9d50f9d0605323fa7d1695424cd64063b1ff775

See more details on using hashes here.

File details

Details for the file xlOil-0.3.6-cp38-cp38m-win32.whl.

File metadata

  • Download URL: xlOil-0.3.6-cp38-cp38m-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp38-cp38m-win32.whl
Algorithm Hash digest
SHA256 c513eb8b4316b744356844d0f203ef7b1ad2cc134dd3de80814d9eaa09632088
MD5 2d932079321606705c036c6bd3f14551
BLAKE2b-256 4863b05833f4a13a53974a79dc2d4de361b2f26d31065593c10e04576e30473f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.3.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b8871b12a2d935daf48e6fdeb48ec0ff9ff27ba8a1548f8bc67ae7bf316bb477
MD5 94cf3ee4bc0075462de7d130ce732f7e
BLAKE2b-256 50883691bc9a9ea0d0e2d862f05679e4b5517121c941415c0caf2c2e27c4c2be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.3.6-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4cebe42ab409dc3ccab061015102b42440af11d75b0d03b12301264f982ed75c
MD5 1a8da5e4f602954c2d3cb17bed9fabdd
BLAKE2b-256 da0537e8e91cfda208a6393f0dbf0a861efb37c73dc3a24a7b6ef70d2a8caf3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.3.6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d16e942c23ef000bd9c40fa4ee35dd7bc7c8fe7babc254d311a3dcf2cdfb3437
MD5 a3a58f4ff2d382c85785ad6987bab4d0
BLAKE2b-256 bdfac1916ff9728e16d6605189b0633cafa62d17f49e84b235d44571a34de7b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xlOil-0.3.6-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1.post20200604 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4

File hashes

Hashes for xlOil-0.3.6-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 88e707a0816aa651bf50504744b2f1c4fd0c35b23caae607688e38665ad63cf8
MD5 12f5bc34be741b5e3017d4b56a0da383
BLAKE2b-256 41df5b9414504f3f99ae4ea2bbd6eec22d10ad2707d69f32ad427cd1bd2d55c2

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