NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4878 most downloaded on PyPI
Make Excel fly: Interact with Excel from Python and vice versa.
Last release 6 days ago
27 Sep 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
226 releases · first in 2014
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature PRO Introduced @server.script decorator ( GH 2454 ).
Bug Fix PRO Prevent unnecessary tempdir creation when importing xlwings.pro ( GH 2452 ).
Bug Fix PRO Various bug fixes, including custom function date formatting ( GH 2453 ).
Feature {bdg-secondary}PRO Introduced @server.script decorator ({issue}2454).Bug Fix {bdg-secondary}PRO Prevent unnecessary tempdir creation when importing xlwings.pro ({issue}2452).Bug Fix {bdg-secondary}PRO Various bug fixes, including custom function date formatting ({issue}2453).One column per quarter.
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: Fix alert when backend is mounted on a non-root path ( GH 2449 ).
Enhancement PRO xlwings Server: Allow to set the date format in Office.js-based custom functions via XLWINGS_DATE_FORMAT env var ( GH 2447 ).
Bug Fix PRO xlwings Server: Fix a few issues with Matplotlib ( GH 2445 ).
Enhancement {bdg-secondary}PRO xlwings Server: Fix alert when backend is mounted on a non-root path ({issue}2449).Enhancement {bdg-secondary}PRO xlwings Server: Allow to set the date format in Office.js-based custom functions via XLWINGS_DATE_FORMAT env var ({issue}2447).Bug Fix {bdg-secondary}PRO xlwings Server: Fix a few issues with Matplotlib ({issue}2445).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: Allow streaming functions to authenticate via sync or async function ( GH 2443 ).
Enhancement {bdg-secondary}PRO xlwings Server: Allow streaming functions to authenticate via sync or async function ({issue}2443).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: Added support for Range.select() ( GH 2440 ).
Bug Fix PRO xlwings Server: fix an issue with custom functions and en-ch locale ( GH 2437 ).
Enhancement {bdg-secondary}PRO xlwings Server: Added support for Range.select() ({issue}2440).Bug Fix {bdg-secondary}PRO xlwings Server: fix an issue with custom functions and en-ch locale ({issue}2437).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: The xlwings.js functions now await the Office.onReady event and the alert endpoint does not need to handle line breaks anymore ( GH 2425 ).
Enhancement {bdg-secondary}PRO xlwings Server: The xlwings.js functions now await the Office.onReady event and the alert endpoint does not need to handle line breaks anymore ({issue}2425).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature PRO This release adds support for streaming functions (the successor of RealTimeData/RTD functions) in connection with xlwings Server and Office.js add-ins. A streaming function is defined as an asynchronous generator ( GH 2423 ):
import asyncio from xlwings import server @server . func async def streaming_random ( rows , cols ): """A streaming function pushing updates of a random DataFrame every second""" rng = np . random . default_rng () while True : matrix = rng . standard_normal ( size = ( rows , cols )) df = pd . DataFrame ( matrix , columns = [ f "col { i + 1 } " for i in range ( matrix . shape [ 1 ])]) yield df await asyncio . sleep ( 1 )
For more details, see: Streaming functions (“RTD functions”)
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix Fixed a regression with files synced to Sharepoint that was introduced in v0.30.14 ( GH 2413 ).
Enhancement xw.arg now allows you to use *args as argument in addition to args for converting multiple arguments as provided by *args ( GH 2407 ).
Bug Fix Fixed a regression with files synced to Sharepoint that was introduced in v0.30.14 ({issue}2413).Enhancement xw.arg now allows you to use *args as argument in addition to args for converting multiple arguments as provided by *args ({issue}2407).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO New xlwings Server methods: Range.clear() , Range.clear_formats() , Sheet.clear() , Sheet.clear_contents() , Sheet.clear_formats() , and Sheet.delete() ( GH 2325 ).
Bug Fix PRO Custom functions now handle *args properly and allow to use the @server.arg("*args") decorator ( GH 2398 ).
Bug Fix PRO Added xlwings.getActiveBookName as convenience method in xlwings.js ( GH 2405 ).
Enhancement {bdg-secondary}PRO New xlwings Server methods: Range.clear(), Range.clear_formats(), Sheet.clear(), Sheet.clear_contents(), Sheet.clear_formats(), and Sheet.delete() ({issue}2325).Bug Fix {bdg-secondary}PRO Custom functions now handle *args properly and allow to use the @server.arg("*args") decorator ({issue}2398).Bug Fix {bdg-secondary}PRO Added xlwings.getActiveBookName as convenience method in xlwings.js ({issue}2405).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix When files are auto-saved to SharePoint, the xlwings configuration is now checked before trying to derive the local path via registry/env variables ( GH 2396 ).
Enhancement PRO xlwings Reports now chunks the writing of big ranges ( GH 2384 ).
Enhancement PRO Office.js add-ins can now use xlwings.getAccessToken() via xlwings.js to acquire an Entra ID access token ( GH 2399 ).
Bug Fix When files are auto-saved to SharePoint, the xlwings configuration is now checked before trying to derive the local path via registry/env variables ({issue}2396).Enhancement {bdg-secondary}PRO xlwings Reports now chunks the writing of big ranges ({issue}2384).Enhancement {bdg-secondary}PRO Office.js add-ins can now use xlwings.getAccessToken() via xlwings.js to acquire an Entra ID access token ({issue}2399).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement Wheels are now built for Python 3.12 ( GH 2341 ).
Bug Fix PRO The timeout argument in the RunRemotePython call has been fixed for high values ( GH 2363 ).
Bug Fix Various bug fixes ( GH 2335 , GH 2356 ).
Breaking Change PRO Permissioning has been removed and replaced by the authentication in Office.js add-ins ( GH 2336 ).
Enhancement Wheels are now built for Python 3.12 ({issue}2341).Bug Fix {bdg-secondary}PRO The timeout argument in the RunRemotePython call has been fixed for high values ({issue}2363).Bug Fix Various bug fixes ({issue}2335, {issue}2356).Breaking Change {bdg-secondary}PRO Permissioning has been removed and replaced by the authentication in Office.js add-ins ({issue}2336).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature New CLI command xlwings py edit : this allows you to edit Microsoft’s Python in Excel cells ( =PY ) in an external editor of your choice with auto-sync ( GH 2331 ).
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix Enabled a conflict-free co-existence with Microsoft’s new Python in Excel feature as xlwings was internally also using =PY() . This requires that you re-import your User-defined functions (UDFs) ( GH 2319 ).
Breaking Change xlwings Server: The @pro decorators have been deprecated in favor of @server decorators, so e.g., functions are now decorated with @server.func instead of @pro.func . The latter keeps working though for now ( GH 2320 ).
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Breaking Change Dropped support for Python 3.7
Enhancement PRO xlwings Server: added custom_function_call_path parameter in xw.pro.custom_functions_code() ( GH 2289 ).
Breaking Change Dropped support for Python 3.7Enhancement {bdg-secondary}PRO xlwings Server: added custom_function_call_path parameter in xw.pro.custom_functions_code() ({issue}2289).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO Custom functions: added support for help_url , which allows you to link to more information via the function wizard/formula builder. See Help URL ( GH 2283 ).
Bug Fix PRO Fixed a bug with sheet-scoped named ranges in case the scope and refers_to point to different sheets ( GH 2280 ).
Enhancement {bdg-secondary}PRO Custom functions: added support for help_url, which allows you to link to more information via the function wizard/formula builder. See Help URL ({issue}2283).Bug Fix {bdg-secondary}PRO Fixed a bug with sheet-scoped named ranges in case the scope and refers_to point to different sheets ({issue}2280).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings File Reader: when reading xls and xlsb formats, date cells are now properly converted into datetime objects ( GH 2059 ).
Enhancement {bdg-secondary}PRO xlwings File Reader: when reading xls and xlsb formats, date cells are now properly converted into datetime objects ({issue}2059).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: added named range support for Office Scripts, Office.js, and Google Apps Script clients in addition to the VBA client ( GH 2257 ).
Enhancement PRO xlwings Server: the documentation has been improved to point out that the book object has to be closed at the end of a request in oder to prevent a memory leak. This can be done via mybook.close() or by using Book as a context manager ( with xw.Book(json=data) as book:```). Note that your framework may offer better means to automatically close the book at the end of a request via middleware or similar mechanism. As an example, for FastAPI, you can use dependency injection. See Introduction ({issue} 2260`).
Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix PRO xlwings Server (Office Scripts client): named ranges with sheet scope were ignored ( GH 2245 ).
Bug Fix PRO xlwings Server (Office.js client): excluded sheets were still loading sheet values ( GH 2251 ).
Bug Fix {bdg-secondary}PRO xlwings Server (Office Scripts client): named ranges with sheet scope were ignored ({issue}2245).Bug Fix {bdg-secondary}PRO xlwings Server (Office.js client): excluded sheets were still loading sheet values ({issue}2251).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: this version adds picture support for Office Scripts and Office.js, meaning that pictures are now supported across all clients ( GH 2235 and GH 2238 ).
Enhancement PRO xlwings Server: Excel tables can now be accessed via the mysheet['MyTable'] syntax in addition to mysheet.tables ( GH 2229 ).
Bug Fix PRO Stability fixes with xw.apps.cleanup() ( GH 2225 and GH 2239 ).
Enhancement {bdg-secondary}PRO xlwings Server: this version adds picture support for Office Scripts and Office.js, meaning that pictures are now supported across all clients ({issue}2235 and {issue}2238).Enhancement {bdg-secondary}PRO xlwings Server: Excel tables can now be accessed via the mysheet['MyTable'] syntax in addition to mysheet.tables ({issue}2229).Bug Fix {bdg-secondary}PRO Stability fixes with xw.apps.cleanup() ({issue}2225 and {issue}2239).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix Fixed a bug that could cause a CoInitialize has not been called error on Windows when xlwings was used inside a web framework ( GH 2213 ).
Bug Fix PRO xlwings.min.js : Fixed a regression introduced with 0.30.3 that caused a pop-up error to show when calling xlwings.runPython ( GH 2214 ).
Bug Fix PRO Fixed a regression introduced with 0.30.3 that was causing the xlwings license CLI command to fail on Linux ( GH 2211 ).
Bug Fix Fixed a bug that could cause a CoInitialize has not been called error on Windows when xlwings was used inside a web framework ({issue}2213).Bug Fix {bdg-secondary}PRO xlwings.min.js: Fixed a regression introduced with 0.30.3 that caused a pop-up error to show when calling xlwings.runPython ({issue}2214).Bug Fix {bdg-secondary}PRO Fixed a regression introduced with 0.30.3 that was causing the xlwings license CLI command to fail on Linux ({issue}2211).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server now supports Excel tables ( GH 2072 ), range.insert() ( GH 2073 ), and range.copy() ( GH 2204 ).
Enhancement Improved error message when no engines is available either because of missing dependencies (OSS) or a missing license key (PRO) ( GH 2072 ).
Breaking Change range.insert() now requires the shift argument. The previous default was to let Excel guess the shift direction ( GH 2073 ).
Enhancement {bdg-secondary}PRO xlwings Server now supports Excel tables ({issue}2072), range.insert() ({issue}2073), and range.copy() ({issue}2204).Enhancement Improved error message when no engines is available either because of missing dependencies (OSS) or a missing license key (PRO) ({issue}2072).Breaking Change range.insert() now requires the shift argument. The previous default was to let Excel guess the shift direction ({issue}2073).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement On Windows, xlwings now actively cleans up Excel zombie processes when quitting or killing App objects and when exiting the Python process. You can also remove zombies manually by calling xw.apps.cleanup() ( GH 2001 ).
Bug Fix PRO xlwings Reports: fixed a regression introduced with 0.30.1 that was causing issues when using Excel tables in frames ( GH 2192 ).
Enhancement On Windows, xlwings now actively cleans up Excel zombie processes when quitting or killing App objects and when exiting the Python process. You can also remove zombies manually by calling xw.apps.cleanup() ({issue}2001).Bug Fix {bdg-secondary}PRO xlwings Reports: fixed a regression introduced with 0.30.1 that was causing issues when using Excel tables in frames ({issue}2192).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement Added support for Range.autofill() (interactive engines on Windows and macOS) ( GH 2180 ).
Bug Fix PRO xlwings Reports: improved stability of dynamic range formatting by removing the use of the clipboard ( GH 2175 ).
Enhancement Added support for Range.autofill() (interactive engines on Windows and macOS) ({issue}2180).Bug Fix {bdg-secondary}PRO xlwings Reports: improved stability of dynamic range formatting by removing the use of the clipboard ({issue}2175).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature PRO xlwings Server now supports custom functions (a.k.a. user-defined functions or UDFs) on Windows, macOS, and Web via the Office.js add-ins. See Office.js Custom Functions ( GH 2177 ).
Bug Fix PRO xlwings Reports: fixed render_template() on Windows when the template had hidden sheets ( GH 2166 ).
Feature {bdg-secondary}PRO xlwings Server now supports custom functions (a.k.a. user-defined functions or UDFs) on Windows, macOS, and Web via the Office.js add-ins. See Office.js Custom Functions ({issue}2177).Bug Fix {bdg-secondary}PRO xlwings Reports: fixed render_template() on Windows when the template had hidden sheets ({issue}2166).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server (VBA client): the default timeout for RunRemotePython has been increased from 5s to 30s ( GH 2153 ).
Enhancement PRO xlwings Server (all clients): added support for app.macro() ( GH 2157 ).
Enhancement PRO xlwings Server (all clients): added support for range.delete() ( GH 2157 ).
Enhancement {bdg-secondary}PRO xlwings Server (VBA client): the default timeout for RunRemotePython has been increased from 5s to 30s ({issue}2153).Enhancement {bdg-secondary}PRO xlwings Server (all clients): added support for app.macro() ({issue}2157).Enhancement {bdg-secondary}PRO xlwings Server (all clients): added support for range.delete() ({issue}2157).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature PRO xlwings Server now supports Office.js add-ins! Check out the comprehensive documentation ( GH 2151 ).
Feature {bdg-secondary}PRO xlwings Server now supports Office.js add-ins! Check out the comprehensive documentation ({issue}2151).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement PRO xlwings Server: add full support for named ranges when called from VBA. JavaScript client implementations are still pending ( GH 2145 ).
Bug Fix On macOS, opening a file was turning its name into lower case ( GH 2052 ).
Bug Fix The xlwings CLI was removing the xlwings addin when the remove command was called with the --dir flag. Also, the xlwings.exe builds are now 32-bit ( GH 2142 ).
Enhancement {bdg-secondary}PRO xlwings Server: add full support for named ranges when called from VBA. JavaScript client implementations are still pending ({issue}2145).Bug Fix On macOS, opening a file was turning its name into lower case ({issue}2052).Bug Fix The xlwings CLI was removing the xlwings addin when the remove command was called with the --dir flag. Also, the xlwings.exe builds are now 32-bit ({issue}2142).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Bug Fix PRO xlwings Server: make include / exclude parameters respect all objects in a sheet, not just values ( GH 2139 ).
Bug Fix PRO xlwings Server (VBA client): ignore shapes that aren’t real pictures in the pictures collection ( GH 2140 ).
Bug Fix {bdg-secondary}PRO xlwings Server: make include/exclude parameters respect all objects in a sheet, not just values ({issue}2139).Bug Fix {bdg-secondary}PRO xlwings Server (VBA client): ignore shapes that aren't real pictures in the pictures collection ({issue}2140).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Enhancement New CLI commands xlwings copy vba and xlwings copy vba --addin : They can help you to upgrade existing standalone projects and custom add-ins more easily ( GH 2129 ).
Bug Fix PRO xlwings Server: Google Sheets was failing when cells contained a Date, caused by a recent Chromium V8 bug ( GH 2126 ).
Bug Fix PRO xlwings Server: Writing datetime objects from Python to Google Sheets (with a time part not being zero) weren’t formatting the cell properly as Date Time ( GH 2126 ).
Enhancement New CLI commands xlwings copy vba and xlwings copy vba --addin: They can help you to upgrade existing standalone projects and custom add-ins more easily ({issue}2129).Bug Fix {bdg-secondary}PRO xlwings Server: Google Sheets was failing when cells contained a Date, caused by a recent Chromium V8 bug ({issue}2126).Bug Fix {bdg-secondary}PRO xlwings Server: Writing datetime objects from Python to Google Sheets (with a time part not being zero) weren't formatting the cell properly as Date Time ({issue}2126).Release Notes: https://docs.xlwings.org/en/latest/whatsnew.html
pip or conda package manager, you can't install from source directly, see https://docs.xlwings.org/en/stable/installation.htmlxlwings.exe is a standalone xlwings command-line client with very limited functionality. It currently works for the xlwings vba, xlwings addin -f, and xlwings auth commands and saves you from having to install a full Python installation if these are your only use cases.Feature xlwings now allows to authenticate and authorize users via Azure AD in connection with the Ribbon add-in or VBA standalone module. This is useful in connection with a server component, such as xlwings Server, where the acquired access tokens can be validated, see Server Auth ( GH 2122 ).
Enhancement PRO xlwings Server: added support for reading the Names collection via mybook.names and mysheet.names ( GH 2123 ).
Feature The xlwings CLI (command-line interface) is now also available as a standalone executable for a limited set of uses cases. It can be downloaded from the GitHub Release page and can be useful to run xlwings vba ... , xlwings auth ... , and xlwings addin ... -f without having to install a full Python installation ( GH 2121 ).
Breaking Change PRO : xlwings Server: auth replaces the apiKey argument in the runPython and RunRemotePython calls respectively. Technically it’s only a deprecation, so apiKey still works for now ( GH 2104 ).
Bug Fix PRO xlwings Server: Fixed an error with setting custom headers in VBA ( GH 2081 ).
Feature xlwings now allows to authenticate and authorize users via Azure AD in connection with the Ribbon add-in or VBA standalone module. This is useful in connection with a server component, such as xlwings Server, where the acquired access tokens can be validated, see Server Auth ({issue}2122).Enhancement {bdg-secondary}PRO xlwings Server: added support for reading the Names collection via mybook.names and mysheet.names ({issue}2123).Feature The xlwings CLI (command-line interface) is now also available as a standalone executable for a limited set of uses cases. It can be downloaded from the GitHub Release page and can be useful to run xlwings vba ..., xlwings auth ..., and xlwings addin ... -f without having to install a full Python installation ({issue}2121).Breaking Change {bdg-secondary}PRO: xlwings Server: auth replaces the apiKey argument in the runPython and RunRemotePython calls respectively. Technically it's only a deprecation, so apiKey still works for now ({issue}2104).Bug Fix {bdg-secondary}PRO xlwings Server: Fixed an error with setting custom headers in VBA ({issue}2081).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement Added possibility to install the add-in globally for all users via xlwings addin install -g ( GH 2075 ).
Enhancement Added App.path property ( GH 2074 ).
Enhancement Build wheels for Python 3.11 ( GH 2071 ).
Bug Fix 0.28.5 fixes an issue with the global add-in install ( GH 2076 ).
Enhancement Added possibility to install the add-in globally for all users via xlwings addin install -g ({issue}2075).Enhancement Added App.path property ({issue}2074).Enhancement Build wheels for Python 3.11 ({issue}2071).Bug Fix 0.28.5 fixes an issue with the global add-in install ({issue}2076).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix PRO xlwings File Reader: To be in line with the rest of the API, integers are now delivered as floats ( GH 2066 ).
Bug Fix PRO xlwings File Reader: Fixed a bug that sometimes read in incorrect decimals with the legacy xls file formats ( GH 2062 ).
Bug Fix PRO Fixed a bug introduced with 0.28.1 when xlwings code embed was run with the --file flag and a relative path ( GH 2061 ).
Bug Fix {bdg-secondary}PRO xlwings File Reader: To be in line with the rest of the API, integers are now delivered as floats ({issue}2066).Bug Fix {bdg-secondary}PRO xlwings File Reader: Fixed a bug that sometimes read in incorrect decimals with the legacy xls file formats ({issue}2062).Bug Fix {bdg-secondary}PRO Fixed a bug introduced with 0.28.1 when xlwings code embed was run with the --file flag and a relative path ({issue}2061).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Breaking Change PRO xlwings File Reader: The reader was including Chartsheets etc. in mybook.sheets , which was inconsistent with the rest of the API. Accordingly, it now only shows Worksheets ( GH 2058 ).
Bug Fix PRO xlwings File Reader: With xlsb formats, slightly unusual defined names caused the reader to fail ( GH 2057 ).
Enhancement PRO xlwings Reports: the imports have been flattened. What previously was available via xlwings.pro.reports is now also available via xlwings.reports ( GH 2055 ).
Enhancement PRO xlwings Reports: the registration of formatters for use with templates has been simplified by allowing you to use the @formatter decorator instead of having to register the function via register_formatter(myfunc) ( GH 2055 ).
Breaking Change {bdg-secondary}PRO xlwings File Reader: The reader was including Chartsheets etc. in mybook.sheets, which was inconsistent with the rest of the API. Accordingly, it now only shows Worksheets ({issue}2058).Bug Fix {bdg-secondary}PRO xlwings File Reader: With xlsb formats, slightly unusual defined names caused the reader to fail ({issue}2057).Enhancement {bdg-secondary}PRO xlwings Reports: the imports have been flattened. What previously was available via xlwings.pro.reports is now also available via xlwings.reports ({issue}2055).Enhancement {bdg-secondary}PRO xlwings Reports: the registration of formatters for use with templates has been simplified by allowing you to use the @formatter decorator instead of having to register the function via register_formatter(myfunc) ({issue}2055).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Feature You can now use formatters to format the data you write to Excel or Google Sheets in a very flexible manner (see also Default Converter ):
import pandas as pd import xlwings as xw sheet = xw . Book () . sheets [ 0 ] def table ( rng : xw . Range , df : pd . DataFrame ): """This is the formatter function""" # Header rng [ 0 , :] . color = "#A9D08E" # Rows for ix , row in enumerate ( rng . rows [ 1 :]): if ix % 2 == 0 : row . color = "#D0CECE" # Even rows # Columns for ix , col in enumerate ( df . columns ): if "two" in col : rng [ 1 :, ix ] . number_format = "0.0%" df = pd . DataFrame ( data = { "one" : [ 1 , 2 , 3 , 4 ], "two" : [ 5 , 6 , 7 , 8 ]}) sheet [ "A1" ] . options ( formatter = table , index = False ) . value = df
Feature PRO Formatters are also available for xlwings Reports via filters: {{ df | formatter("myformatter") }} , see DataFrames Filters .
Feature You can now export a sheet to an HTML page via mysheet.to_html()
Feature New convenience property to get a list of the sheet names: mybook.sheet_names
Enhancement PRO The Excel File Reader now supports the Names collection. I.e., you can now run code like this:
with xw . Book ( "myfile.xlsx" , mode = "r" ) as book : for name in book . names : print ( name . refers_to_range . value )
Enhancement PRO Code embedding via xlwings release or xlwings code embed now allows you to work with Python packages, i.e., nested directories.
Feature You can now use formatters to format the data you write to Excel or Google Sheets in a very flexible manner (see also Default Converter):import pandas as pd
import xlwings as xw
sheet = xw.Book().sheets[0]
def table(rng: xw.Range, df: pd.DataFrame):
"""This is the formatter function"""
# Header
rng[0, :].color = "#A9D08E"
# Rows
for ix, row in enumerate(rng.rows[1:]):
if ix % 2 == 0:
row.color = "#D0CECE" # Even rows
# Columns
for ix, col in enumerate(df.columns):
if "two" in col:
rng[1:, ix].number_format = "0.0%"
df = pd.DataFrame(data={"one": [1, 2, 3, 4], "two": [5, 6, 7, 8]})
sheet["A1"].options(formatter=table, index=False).value = df
Feature {bdg-secondary}PRO Formatters are also available for xlwings Reports via filters: {{ df | formatter("myformatter") }}, see DataFrames Filters.Feature You can now export a sheet to an HTML page via {meth}mysheet.to_html() <xlwings.Sheet.to_html()>Feature New convenience property to get a list of the sheet names: {attr}mybook.sheet_names <xlwings.Book.sheet_names>Enhancement {bdg-secondary}PRO The Excel File Reader now supports the Names collection. I.e., you can now run code like this:with xw.Book("myfile.xlsx", mode="r") as book:
for name in book.names:
print(name.refers_to_range.value)
Enhancement {bdg-secondary}PRO Code embedding via xlwings release or xlwings code embed now allows you to work with Python packages, i.e., nested directories.https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Feature PRO xlwings PRO adds an ultra fast file reader, allowing you to read Excel files much faster than via pandas.read_excel() :
with xw . Book ( "myfile.xlsx" , mode = "r" ) as book : sheet1 = book . sheets [ 0 ] df = sheet1 [ "A1:B2" ] . options ( "df" , index = False ) . value
For all the details, see Excel File Reader .
Enhancement Book can now be used as context manager (i.e., with the with statement, see previous bullet point), which will close the book automatically when leaving the body of the with statement.
Enhancement The new option err_to_str allows you to deliver cell errors like #N/A as strings instead of None (default): xw.Book("mybook.xlsx").options(err_to_str=True).value .
Breaking Change PRO xlwings Server used to deliver cell errors as strings, which wasn’t consistent with the rest of xlwings. This has now been fixed by delivering them as None by default. To get the previous behavior, use the err_to_str option, see the previous bullet point.
Enhancement PRO The Remote Interpreter has been rebranded to xlwings Server .
{bdg-success}Feature {bdg-secondary}PRO xlwings PRO adds an ultra fast file reader, allowing you to read Excel files much faster than via pandas.read_excel():
with xw.Book("myfile.xlsx", mode="r") as book:
sheet1 = book.sheets[0]
df = sheet1["A1:B2"].options("df", index=False).value
For all the details, see Excel File Reader.
{bdg-info}Enhancement Book can now be used as context manager (i.e., with the with statement, see previous bullet point), which will close the book automatically when leaving the body of the with statement.
{bdg-info}Enhancement The new option err_to_str allows you to deliver cell errors like #N/A as strings instead of None (default): xw.Book("mybook.xlsx").options(err_to_str=True).value.
{bdg-danger}Breaking Change {bdg-secondary}PRO xlwings Server used to deliver cell errors as strings, which wasn't consistent with the rest of xlwings. This has now been fixed by delivering them as None by default. To get the previous behavior, use the err_to_str option, see the previous bullet point.
{bdg-info}Enhancement {bdg-secondary}PRO The Remote Interpreter has been rebranded to xlwings Server.
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement PRO Reports: Added new vmerge filter to vertically merge cells with the same values, for details, see vmerge ( GH 2020 ).
Enhancement {bdg-secondary}PRO Reports: Added new vmerge filter to vertically merge cells with the same values, for details, see vmerge ({issue}2020).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement Allow to install/remove the addin via xlwings addin install while Excel is running ( GH 1999 ).
Enhancement Allow to install/remove the addin via xlwings addin install while Excel is running ({issue}1999).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Feature Add support for alerts: myapp.alert("Hello World") , see myapp.alert() for more details ( GH 756 ).
Enhancement Handle Timedelta dtypes in pandas DataFrames and Series ( GH 1991 ).
Enhancement PRO Remove the cryptography dependency from xlwings PRO ( GH 1992 ).
Feature Add support for alerts: myapp.alert("Hello World"), see {meth}myapp.alert() <xlwings.App.alert> for more details ({issue}756).Enhancement Handle Timedelta dtypes in pandas DataFrames and Series ({issue}1991).Enhancement {bdg-secondary}PRO Remove the cryptography dependency from xlwings PRO ({issue}1992).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement PRO : xlwings Server: added support for named ranges via mysheet["myname"] or mysheet.range("myname") ( GH 1975 ).
Enhancement PRO : xlwings Server: in addition to Google Sheets, pictures.add() is now also supported on Desktop Excel (Windows and macOS). This includes support for Matplotlib plots ( GH 1974 ).
Enhancement Faster UDFs ( GH 1976 ).
Bug Fix Made myapp.range() behave the same as mysheet.range() ( GH 1982 ).
Bug Fix PRO : xlwings Server: cell errors were causing a bug with Desktop Excel ( GH 1968 ).
Bug Fix PRO : xlwings Server: sending large payloads with Desktop Excel on macOS is now possible ( GH 1977 ).
Enhancement {bdg-secondary}PRO: xlwings Server: added support for named ranges via mysheet["myname"] or mysheet.range("myname") ({issue}1975).Enhancement {bdg-secondary}PRO: xlwings Server: in addition to Google Sheets, pictures.add() is now also supported on Desktop Excel (Windows and macOS). This includes support for Matplotlib plots ({issue}1974).Enhancement Faster UDFs ({issue}1976).Bug Fix Made myapp.range() behave the same as mysheet.range() ({issue}1982).Bug Fix {bdg-secondary}PRO: xlwings Server: cell errors were causing a bug with Desktop Excel ({issue}1968).Bug Fix {bdg-secondary}PRO: xlwings Server: sending large payloads with Desktop Excel on macOS is now possible ({issue}1977).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement Added support for pandas pd.NA ( GH 1939 ).
Bug Fix Empty cells in UDFs are now properly returned as None / NaN instead of an empty string ( GH 1947 ).
Bug Fix Resolved an issue with OneDrive/SharePoint files that are unsynced locally ( GH 1946 ).
Enhancement Added support for pandas pd.NA ({issue}1939).Bug Fix Empty cells in UDFs are now properly returned as None / NaN instead of an empty string ({issue}1947).Bug Fix Resolved an issue with OneDrive/SharePoint files that are unsynced locally ({issue}1946).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix PRO This release fixes a FileNotFound error that could sometimes happen with embedded code ( GH 1931 ).
Bug Fix {bdg-secondary}PRO This release fixes a FileNotFound error that could sometimes happen with embedded code ({issue}1931).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix Fixes a bug on Windows that caused an Excel Zombie process with pywin32 > v301 ( GH 1929 ).
Bug Fix Fixes a bug on Windows that caused an Excel Zombie process with pywin32 > v301 ({issue}1929).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement Smarter shrinking of Excel tables when using mytable.update(df) as it doesn’t delete rows below the table anymore ( GH 1908 ).
Bug Fix Fixed a regression when RunPyhon was used with Use UDF Server = True (introduced in v0.26.2) ( GH 1912 ).
Bug Fix PRO The xlwings release command would sometimes incorrectly show a version mismatch error ( GH 1918 ).
Bug Fix PRO xlwings Reports now raises an explicit error when Jinja2 is missing ( GH 1637 ).
Enhancement Smarter shrinking of Excel tables when using mytable.update(df) as it doesn't delete rows below the table anymore ({issue}1908).Bug Fix Fixed a regression when RunPyhon was used with Use UDF Server = True (introduced in v0.26.2) ({issue}1912).Bug Fix {bdg-secondary}PRO The xlwings release command would sometimes incorrectly show a version mismatch error ({issue}1918).Bug Fix {bdg-secondary}PRO xlwings Reports now raises an explicit error when Jinja2 is missing ({issue}1637).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Feature PRO Google Sheets now support pictures via mysheet.pictures.add() incl. Matplotlib/Plotly (note that Excel on the web and Desktop Excel via xlwings Server are not yet supported). Also note that Google Sheets allows a maximum of 1 million pixels as calculated by (width in inches _ dpi) _ (height in inches * dpi), see also Matplotlib & Plotly Charts ( GH 1906 ).
Breaking Change Matplotlib plots are now written to Excel/Google Sheets with a default of 200 dpi instead of 300 dpi. You can change this (and all other options that Matplotlib’s savefig() and Plotly’s write_image() offer via sheet.pictures.add(image=myfigure, export_options={"bbox_inches": "tight", "dpi": 300}) ( GH 665 , GH 519 ).
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix macOS: Python modules on OneDrive Personal are now found again in the default setup even if they have been migrated to the new location ( GH 1891 ).
Enhancement PRO xlwings Server now shows nicely formatted error messages across all platforms ( GH 1889 ).
Bug Fix macOS: Python modules on OneDrive Personal are now found again in the default setup even if they have been migrated to the new location ({issue}1891).Enhancement {bdg-secondary}PRO xlwings Server now shows nicely formatted error messages across all platforms ({issue}1889).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement PRO xlwings Server: added support for setting the number format of a range via myrange.number_format = "..." ( GH 1887 ).
Bug Fix PRO xlwings Server: Google Sheets/Excel on the web were formatting strings like "1" as date ( GH 1885 ).
Enhancement {bdg-secondary}PRO xlwings Server: added support for setting the number format of a range via myrange.number_format = "..." ({issue}1887).Bug Fix {bdg-secondary}PRO xlwings Server: Google Sheets/Excel on the web were formatting strings like "1" as date ({issue}1885).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Enhancement Further SharePoint enhancements on Windows, increasing the chance that mybook.fullname returns the proper local filepath (by taking into account the info in the registry) ( GH 1829 ).
Enhancement The ribbon, i.e., the config, now allows you to uncheck the box Add workbook to PYTHONPATH to not automatically add the directory of your workbook to the PYTHONPATH. The respective config is called ADD_WORKBOOK_TO_PYTHONPATH . This can be helpful if you experience issues with OneDrive/SharePoint: uncheck this box and provide the path where your source file is manually via the PYTHONPATH setting ( GH 1873 ).
Enhancement PRO Added support for myrange.add_hyperlink() with remote interpreter ( GH 1882 ).
Enhancement PRO Added a new optional parameter include in connection with runPython (JS) and RunRemotePython (VBA), respectively. It’s the counterpart to exclude and allows you to submit the names of the sheets that you want to send to the server. Like exclude , include accepts a comma-delimited string, e.g., “Sheet1,Sheet2” ( GH 1882 ).
Enhancement PRO On Google Sheets, the xlwings JS module now automatically asks for the proper permission to allow authentication based on OAuth Token ( GH 1876 ).
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix PRO Fixes an issue with Date formatting on Google Sheets in case you’re not using the U.S. locale ( GH 1866 ).
Bug Fix PRO Fixes the truncating of ranges with xlwings Server in case the range was partly outside the used range ( GH 1822 ).
Bug Fix {bdg-secondary}PRO Fixes an issue with Date formatting on Google Sheets in case you're not using the U.S. locale ({issue}1866).Bug Fix {bdg-secondary}PRO Fixes the truncating of ranges with xlwings Server in case the range was partly outside the used range ({issue}1822).https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Bug Fix PRO Fixes an issue with xlwings Server that occurred on 64-bit versions of Excel.
Bug Fix {bdg-secondary}PRO Fixes an issue with xlwings Server that occurred on 64-bit versions of Excel.https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
Feature PRO This release adds support for xlwings Server to the Excel Desktop apps on both Windows and macOS. The new VBA function RunRemotePython is equivalent to runPython in the JavaScript modules of Google Sheets and Excel on the web, see xlwings Server ( GH 1841 ).
Enhancement The xlwings package is now uploaded as wheel to PyPI in addition to the source format ( GH 1855 ).
Enhancement The xlwings package is now compatible with Poetry ( GH 1265 ).
Enhancement The add-in and the dll files are now code signed ( GH 1848 ).
Breaking Change PRO The JavaScript modules (Google Sheet/Excel on the web ) changed the parameters in runPython , see xlwings Server ( GH 1852 ).
Breaking Change xlwings vba edit has been refactored and there is an additional command xlwings vba import to edit your VBA code outside of the VBA editor, e.g., in VS Code or any other editor, see Command Line Client (CLI) ( GH 1843 ).
Breaking Change The --unprotected flag has been removed from the xlwings addin install command. You can still manually remove the password ( xlwings ) though ( GH 1850 ).
Bug Fix PRO The Markdown class has been fixed in case the first line was empty ( GH 1856 ).
Bug Fix PRO 0.27.1 fixes an issue with the version string in the new RunRemotePython VBA call ( GH 1859 ).
Feature {bdg-secondary}PRO This release adds support for xlwings Server to the Excel Desktop apps on both Windows and macOS. The new VBA function RunRemotePython is equivalent to runPython in the JavaScript modules of Google Sheets and Excel on the web, see xlwings Server ({issue}1841).Enhancement The xlwings package is now uploaded as wheel to PyPI in addition to the source format ({issue}1855).Enhancement The xlwings package is now compatible with Poetry ({issue}1265).Enhancement The add-in and the dll files are now code signed ({issue}1848).Breaking Change {bdg-secondary}PRO The JavaScript modules (Google Sheet/Excel on the web ) changed the parameters in runPython, see xlwings Server ({issue}1852).Breaking Change xlwings vba edit has been refactored and there is an additional command xlwings vba import to edit your VBA code outside of the VBA editor, e.g., in VS Code or any other editor, see Command Line Client (CLI) ({issue}1843).Breaking Change The --unprotected flag has been removed from the xlwings addin install command. You can still manually remove the password (xlwings) though ({issue}1850).Bug Fix {bdg-secondary}PRO The Markdown class has been fixed in case the first line was empty ({issue}1856).Bug Fix {bdg-secondary}PRO 0.27.1 fixes an issue with the version string in the new RunRemotePython VBA call ({issue}1859).https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
Feature If you still have to write VBA code, you can now use the new CLI command xlwings vba edit : this will export all the VBA modules locally so that you can edit them with any editor like e.g., VS Code. Every local change is synced back whenever you save the local file, see Command Line Client (CLI) ( GH 1839 ).
Enhancement PRO The permissioning feature now allows you to send an Authorization header via the new PERMISSION_CHECK_AUTHORIZATION setting ( GH 1840 ).
Feature If you still have to write VBA code, you can now use the new CLI command xlwings vba edit: this will export all the VBA modules locally so that you can edit them with any editor like e.g., VS Code. Every local change is synced back whenever you save the local file, see Command Line Client (CLI) ({issue}1839).Enhancement {bdg-secondary}PRO The permissioning feature now allows you to send an Authorization header via the new PERMISSION_CHECK_AUTHORIZATION setting ({issue}1840).https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
Feature Added support for myrange.clear_formats and mysheet.clear_formats ( GH 1802 ).
Feature Added support for mychart.to_pdf() and myrange.to_pdf() ( GH 1708 ).
Feature PRO xlwings Server: added support for mybook.selection ( GH 1819 ).
Enhancement The quickstart command now makes sure that the project name is a valid Python module name ( GH 1773 ).
Enhancement The to_pdf method now accepts an additional parameter quality that defaults to "standard" but can be set to "minimum" for smaller PDFs ( GH 1697 ).
Bug Fix Allow space in path to Python interpreter when using UDFs / UDF Server ( GH 974 ).
Bug Fix A few issues were fixed in case your files are synced with OneDrive or SharePoint ( GH 1813 and GH 1810 ).
Bug Fix PRO Reports: fixed the aggsmall filter to work without the optional min_rows parameter ( GH 1824 ).
Feature Added support for myrange.clear_formats and mysheet.clear_formats ({issue}1802).Feature Added support for mychart.to_pdf() and myrange.to_pdf() ({issue}1708).Feature {bdg-secondary}PRO xlwings Server: added support for mybook.selection ({issue}1819).Enhancement The quickstart command now makes sure that the project name is a valid Python module name ({issue}1773).Enhancement The to_pdf method now accepts an additional parameter quality that defaults to "standard" but can be set to "minimum" for smaller PDFs ({issue}1697).Bug Fix Allow space in path to Python interpreter when using UDFs / UDF Server ({issue}974).Bug Fix A few issues were fixed in case your files are synced with OneDrive or SharePoint ({issue}1813 and {issue}1810).Bug Fix {bdg-secondary}PRO Reports: fixed the aggsmall filter to work without the optional min_rows parameter ({issue}1824).Nothing published for this version
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
PRO Feature Added experimental support for Google Sheets and Excel on the web via a remote Python interpreter. For all the details, see xlwings Server .
PRO Bug Fix 0.26.1 fixes an issue with the xlwings copy gs command.
xlwings PRO is now free for noncommercial usage under the PolyForm Noncommercial License 1.0.0 , see xlwings PRO for the details.
PRO {bdg-success}Feature Added experimental support for Google Sheets and Excel on the web via a remote Python interpreter. For all the details, see xlwings Server.PRO {bdg-warning}Bug Fix 0.26.1 fixes an issue with the xlwings copy gs command.https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/latest/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
https://docs.xlwings.org/en/stable/whatsnew.html
Your coding agent can read these notes before it upgrades. Set up the MCP server →