Skip to main content

Adds Jupyter notebooks to Microsoft Excel using PyXLL.

Project description

PyXLL-Jupyter

Integration for Jupyter notebooks and Microsoft Excel.

Requirements

  • PyXLL >= 5.0.0
  • Jupyter
  • PySide2

Installation

To install this package use:

pip install pyxll-jupyter

Once installed a "Jupyter Notebook" button will be added to the PyXLL ribbon tab in Excel, so long as you have PyXLL 5 or above already installed.

When using Jupyter in Excel the Python kernel runs inside the Excel process using PyXLL. You can interact with Excel from code in the Jupyter notebook, and write Excel functions using the PyXLL decorators @xl_menu and @xl_macro etc.

As the kernel runs in the existing Python interpreter in the Excel process it is not possible to restart the kernel or to use other Python versions or other languages.

Configuration

To configure add the following to your pyxll.cfg file (default values shown):

[JUPYTER]
use_workbook_dir = 0
notebook_dir = Documents
timeout = 15
qt = PySide2

If use_workbook_dir is set and the current workbook is saved then Jupyter will open in the same folder as the current workbook.

Qt

The pyxll-jupyter package uses the Qt QWebEngineView widget, and by default will use the PySide2 package.

This can be changed to use PyQt5 by setting qt = PyQt5 in the JUPYTER section of the config. You will need to have both the pyqt5 and pyqtwebengine packages installed if using this option. Both can be installed using pip as follows:

pip install pyqt5 pyqtwebengine

Magic Functions

The following magic functions are available in addition to the standard Jupyter magic functions:

%xl_get [-c CELL] [-t TYPE] [-x]

Get the current selection in Excel into Python.

optional arguments:
  -c CELL, --cell CELL  Address of cell to get value of.
  -t TYPE, --type TYPE  Datatype to convert the value to.
  -x, --no-auto-resize  Don't auto-resize the range.
%xl_set [-c CELL] [-t TYPE] [-f FORMATTER] [-x] value

Set a value to the current selection in Excel.

positional arguments:
  value                 Value to set in Excel.

optional arguments:
  -c CELL, --cell CELL  Address of cell to get value of.
  -t TYPE, --type TYPE  Datatype to convert the value to.
  -f FORMATTER, --formatter FORMATTER
                        PyXLL Formatter to use when setting the value.
  -x, --no-auto-resize  Don't auto-resize the range.
%xl_plot [-n NAME] [-c CELL] [-w WIDTH] [-h HEIGHT] figure

Plot a figure to Excel in the same way as pyxll.plot.

The figure is exported as an image and inserted into Excel as a Picture object.

If the --name argument is used and the picture already exists then it will not
be resized or moved.

positional arguments:
  figure                Figure to plot.

optional arguments:
  -n NAME, --name NAME  Name of the picture object in Excel to use.
  -c CELL, --cell CELL  Address of cell to use when creating the Picture in
                        Excel.
  -w WIDTH, --width WIDTH
                        Width in points to use when creating the Picture in
                        Excel.
  -h HEIGHT, --height HEIGHT
                        Height in points to use when creating the Picture in
                        Excel.

For more information about installing and using PyXLL see https://www.pyxll.com.

Copyright (c) 2020 PyXLL Ltd

Project details


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 Distribution

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

pyxll_jupyter-0.1.13-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file pyxll_jupyter-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: pyxll_jupyter-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.0

File hashes

Hashes for pyxll_jupyter-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 181464fe79022f6490bad2bd47d603014184b187bd99c769a80008e5e2484a77
MD5 bca2fdbf6064e12476e401e81031f93a
BLAKE2b-256 b1690196a6b87e6865d85057d5faa7a50f9cd822db5367f879a797ed024cb224

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