PyXLL The Python Excel Add-In
  • Product
    • Features
    • Get Started
    • Request Demo
    • Download
  • Pricing
  • Resources
    • Documentation
    • Blog
    • Videos
    • FAQ
    • Learn Python
    • Customer Portal
    • About Us
  • Support
    • Documentation
    • Videos
    • FAQ
    • Contact Us
  • Contact Us
Table of Contents
  • PyXLL Documentation
  • Introduction to PyXLL
  • User Guide
  • Video Guides and Tutorials
  • API Reference
  • What’s new in PyXLL 5
  • Changelog
Close

Table of Contents¶

  • PyXLL Documentation
    • New to PyXLL?
    • Existing PyXLL Users
    • Need Help?
  • Introduction to PyXLL
    • What is PyXLL?
    • How does it work?
    • How does PyXLL compare with other packages?
    • Before You Start
    • Next Steps
      • Install PyXLL
      • Calling a Python Function in Excel
      • Additional Resources
  • User Guide
    • Installing PyXLL
      • First Time Users
      • PyXLL Command Line Tool
      • Manual Installation
      • Using PyXLL with Anaconda
    • Configuring PyXLL
      • Python Settings
      • PyXLL Settings
      • License Key
      • Logging
      • Warnings
      • Configuration Variables
      • Environment Variables
      • Startup Script
      • Menu Ordering
      • Shortcuts
      • Default Decorator Parameters
    • Worksheet Functions
      • Introduction
      • Argument and Return Types
      • Cached Objects
      • Array Functions
      • NumPy Array Types
      • Pandas Types
      • Polars DataFrames
      • Asynchronous Functions
      • Function Documentation
      • Variable and Keyword Arguments
      • Recalculating On Open
      • Recalculating On Reload
      • Interrupting Functions
    • Macro Functions
      • Introduction
      • Exposing Functions as Macros
      • Calling Macros From Excel
      • Calling Excel from Python
      • Reading Excel Values from Python
      • Writing Python Values to Excel
      • Pausing Screen Updates and Automatic Calculation
      • Keyboard Shortcuts
    • Real Time Data
      • Introduction
      • RTD Generators
      • Using the RTD Class
      • RTD Data Types
      • Restarting RTD Functions
      • Throttle Interval
      • Starting RTD Functions Automatically
    • Cell Formatting
      • Formatting Worksheet Functions
      • Pandas DataFrame Formatting
      • Custom Formatters
      • Formatting in Macros Functions
    • Charts and Plotting
      • Matplotlib
      • Pandas
      • Plotly
      • Seaborn
      • Bokeh
      • Altair
      • Others
      • Plotting from Worksheet Functions
      • Plotting from Menus, Macros and Elsewhere
      • Moving and Resizing
    • Custom Task Panes
      • PySide and PyQt
      • wxPython
      • Tkinter
      • Other UI Toolkits
    • ActiveX Controls
      • PySide and PyQt
      • wxPython
      • Tkinter
      • Other UI Toolkits
      • Resizing ActiveX Controls
      • Other Considerations
    • Using Pandas in Excel
      • Returning a DataFrame from a Function
      • Taking a DataFrame as a Function Argument
      • Returning Multiple DataFrames
      • Formatting DataFrames
      • Plotting DataFrames
      • Reading and Writing DataFrames in Macros
      • Passing DataFrames as Objects Instead of Arrays
      • Pandas Series
      • Advanced Usage of the Pandas Type Converters
    • Customizing the Ribbon
      • Introduction
      • Creating a Custom Tab
      • Action Functions
      • Using Images
      • Modifying the Ribbon
      • Merging Ribbon Files
    • Context Menu Functions
      • Introduction
      • Adding a Python Function to the Context Menu
      • Creating Sub-Menus
      • Dynamic Menus
      • References
    • Working with Tables
      • Writing a Table
      • Reading a Table
      • Updating a Table
      • Tables and Worksheet Functions
      • Advanced Features
    • Python as a VBA Replacement
      • The Excel Object Model
      • Accessing the Excel Object Model in Python
      • Differences between VBA and Python
      • Enums and Constant Values
      • Excel and Threading
      • Notes on Debugging
    • Menu Functions
      • Custom Menu Items
      • New Menus
      • Sub-Menus
    • Reloading and Rebinding
      • Introduction
      • How to Reload PyXLL
      • Deep Reloading
      • Rebinding
    • Error Handling
      • Introduction
      • Standard Error Handlers
      • Custom Error Handlers
    • Deploying your add-in
      • Sharing everything on a network drive
      • Using a standalone zip file
      • Building an installer
      • Using a common pyxll.cfg file
      • Using a startup script to install and update Python code
      • Deploying the Python Environment
      • Adding the PyXLL add-in to Excel
      • Setuptools Entry Points
    • Workbook Metadata
  • Video Guides and Tutorials
    • Installing the PyXLL Add-in
      • The Easy Way to Install PyXLL
      • Manually Installing PyXLL
    • Writing Excel Functions in Python
    • Jupyter Notebooks in Excel
      • Jupyter Notebook
      • JupyterLab
    • Debugging Python in Excel
      • Debugging with VS Code
      • Debugging with PyCharm
    • Working with Tables
    • Monte Carlo Simulations
    • Cell Formatting
    • RTD Array Functions
    • DOOM in Excel
    • NLP VLOOKUP using Scikit Learn
    • Deploying your PyXLL Add-in
  • API Reference
    • Worksheet Functions
      • @xl_func
      • XLAsyncHandle
    • Real Time Data
      • RTD
      • IterRTD
      • AsyncIterRTD
    • Macro Functions
      • @xl_macro
      • xl_app
      • xl_disable
      • XLCell
      • XLRect
    • Type Conversion
      • get_type_converter
      • @xl_arg
      • @xl_return
      • @xl_arg_type
      • @xl_return_type
    • Ribbon Functions
      • load_image
      • get_ribbon_xml
      • set_ribbon_xml
      • set_ribbon_tab
      • remove_ribbon_tab
      • IRibbonControl
      • IRibbonUI
    • Menu Functions
      • @xl_menu
    • Plotting
      • plot
      • PlotBridgeBase
    • Custom Task Panes
      • create_ctp
      • CustomTaskPane
      • CTPBridgeBase
    • ActiveX Controls
      • create_activex_control
      • ActiveXHost
      • AtxBridgeBase
      • Creating an ActiveX Control from a Worksheet Function
    • Cell Formatting
      • Formatter
      • DataFrameFormatter
      • DateFormatter
      • ConditionalFormatter
      • ConditionalFormatterBase
    • Tables
      • Table
      • TableBase
    • Errors and Exceptions
      • get_last_error
      • ErrorContext
      • ObjectCacheKeyError
      • SpillError
    • Utility Functions
      • schedule_call
      • reload
      • rebind
      • xl_version
      • get_config
      • get_dialog_type
      • cached_object_count
      • get_event_loop
    • Event Handlers
      • @xl_on_open
      • @xl_on_reload
      • @xl_on_close
      • @xl_license_notifier
    • Excel C API Functions
      • xlfCaller
      • xlfSheetId
      • xlfGetWorkspace
      • xlfGetWorkbook
      • xlfGetWindow
      • xlfWindows
      • xlfVolatile
      • xlcAlert
      • xlcCalculation
      • xlcCalculateNow
      • xlcCalculateDocument
      • xlAsyncReturn
      • xlAbort
      • xlSheetNm
      • xlfGetDocument
  • What’s new in PyXLL 5
    • New Features and Improvements
      • Excel Tables
      • RTD Generators
      • Polars Types
      • Easier Installation
      • Custom Task Panes
      • Plotting Integrations
      • Serialized Cached Objects
      • Entry Points
      • Composite Ribbon Toolbars
      • Auto-Rebinding
      • Improved Cell Formatting
      • Log Rolling
    • Important notes for upgrading from previous versions
      • Updated Software License Agreement
      • Deep reloading is now enabled by default
      • RTD functions no longer recalculate on open by default
      • async_func has been replaced with schedule_call
  • Changelog
    • PyXLL 5.10
      • PyXLL 5.10.1 (2025-04-15)
      • PyXLL 5.10.0 (2025-04-02)
    • PyXLL 5.9
      • PyXLL 5.9.2 (2024-12-02)
      • PyXLL 5.9.1 (2024-09-24)
      • PyXLL 5.9.0 (2024-09-16)
    • PyXLL 5.8
      • PyXLL 5.8.4 (2024-07-16)
      • PyXLL 5.8.3 (2024-07-10)
      • PyXLL 5.8.2 (2024-06-10)
      • PyXLL 5.8.1 (2024-05-13)
      • PyXLL 5.8.0 (2024-02-22)
    • PyXLL 5.7
      • PyXLL 5.7.1 (2023-11-15)
      • PyXLL 5.7.0 (2023-10-02)
    • PyXLL 5.6
      • PyXLL 5.6.5 (2023-08-15)
      • PyXLL 5.6.4 (2023-06-25)
      • PyXLL 5.6.3 (2023-05-24)
      • PyXLL 5.6.2 (2023-05-17)
      • PyXLL 5.6.1 (2023-05-03)
      • PyXLL 5.6.0 (2023-04-17)
    • PyXLL 5.5
      • PyXLL 5.5.4 (2022-12-23)
      • PyXLL 5.5.3 (2022-11-29)
      • PyXLL 5.5.2 (2022-11-22)
      • PyXLL 5.5.1 (2022-10-31)
      • PyXLL 5.5.0 (2022-10-24)
    • PyXLL 5.4
      • PyXLL 5.4.5 (2022-10-18)
      • PyXLL 5.4.4 (2022-08-15)
      • PyXLL 5.4.3 (2022-07-22)
      • PyXLL 5.4.2 (2022-05-23)
      • PyXLL 5.4.1 (2022-03-25)
      • PyXLL 5.4.0 (2022-02-18)
    • PyXLL 5.3
      • PyXLL 5.3.1 (2021-12-15)
      • PyXLL 5.3.0 (2021-10-07)
    • PyXLL 5.2
      • PyXLL 5.2.5 (2021-09-01)
      • PyXLL 5.2.4 (2021-08-31)
      • PyXLL 5.2.3 (2021-08-16)
      • PyXLL 5.2.2 (2021-08-09)
      • PyXLL 5.2.1 (2021-08-04)
      • PyXLL 5.2.0 (2021-07-27)
    • PyXLL 5.1
      • PyXLL 5.1.1 (2021-04-29)
      • PyXLL 5.1.0 (2021-03-24)
    • PyXLL 5.0
      • PyXLL 5.0.9 (2021-02-07)
      • PyXLL 5.0.8 (2021-01-11)
      • PyXLL 5.0.7 (2021-01-04)
      • PyXLL 5.0.6 (2020-12-17)
      • PyXLL 5.0.5 (2020-11-30)
      • PyXLL 5.0.4 (2020-11-19)
      • PyXLL 5.0.3 (2020-11-11)
      • PyXLL 5.0.2 (2020-11-10)
      • PyXLL 5.0.1 (2020-11-04)
      • PyXLL 5.0.0 (2020-11-01)
PyXLL Documentation »
  • Home
  • Product
  • Features
  • Documentation
  • Download
  • Pricing
  • Support
  • Documentation
  • Videos
  • FAQ
  • Learn Python
  • Contact Us
  • About
  • About Us
  • Legal
  • Blog
© Copyright PyXLL Ltd