You are correct in that xlwings relies on pywin32, whereas openpyxl does not.

openpyxl

A ".xlsx" excel file is essentially a zip-file containing multiple XML files formatted according to Microsoft's OOXML specification. With this specification it's possible to create a program capable of directly reading/writing excel files in just about any programming language. This is the approach applied in openpyxl: it uses python code to read/write excel files directly.

xlwings

A Microsoft Excel application can be started and controlled by an external program through the Win32 COM API. The pywin32 package provides an interface between Win32 COM and Python. Through a python script with the right pywin32 commands you can fully control an Excel Application (open excel files, query data from cells, write data to cells, save excel files, etc.). The pywin32 commands that you can use mirror the Excel VBA commands, albeit with python syntax.

xlwings is (among other things) a user-friendly wrapper around pywin32. It introduces several concise-yet-powerful methods. An example would be the methods for direct conversion of an excel cell range to a numpy array or pandas dataframe (and vice versa).

Summary

A fundamental difference between xlwings and openpyxl is that the former requires that MS Excel is installed on your machine, whereas the latter does not.

Answer from Xukrao on Stack Overflow
🌐
Xlwings
xlwings.org
Xlwings
We use xlwings to automate the data feeds of one of our analytical spreadsheet tools, which saves us 1–2 days of tedious manual work every month.
Get Trial Key
Get a free trial key for xlwings PRO and xlwings REPORTS.
Pricing
Use xlwings locally or via xlwings Lite (add-in store).
Features
Jupyter notebooks are a popular way of running Python code in the data science space. While you can use the full xlwings API, you may sometimes just need to look at a big DataFrame in a good old spreadsheet or load some ad-hoc data from a spreadsheet for a one-off analysis.
🌐
GitHub
github.com › xlwings › xlwings
GitHub - xlwings/xlwings: xlwings is a Python library that makes it easy to call Python from Excel and vice versa. It works with Excel on Windows, macOS, and Excel on the web. · GitHub
xlwings is a Python library that makes it easy to call Python from Excel and vice versa. It works with Excel on Windows, macOS, and Excel on the web. - xlwings/xlwings
Author: xlwings
Discussions

Python and xl wings
Click Go… next to “Manage: Excel Add-ins” and make sure xlwings is checked. More on learn.microsoft.com
🌐 learn.microsoft.com
2
0
August 15, 2025
python - Differences between xlwings vs openpyxl Reading Excel Workbooks - Stack Overflow
I've mostly only used xlwings to open (read-write) workbooks (since the workbooks I read have complicated macros). But I've recently begun using openpyxl to open (read-only) workbooks when I've nee... More on stackoverflow.com
🌐 stackoverflow.com
By curiosity, what do you think about xlwings?
I use it all the time. I have large sensor data sets that I create weekly reports for, generally using numpy and pandas. I create a nicely formatted excel table that has a input sheet, that I use xlwings to dump to. Fore me it is the simplicity of being able to move my data to exact locations in a sheet. I have also used to to gather data from excel sheets, that are not uniform, searching for keywords. Again very simple to use. More on reddit.com
🌐 r/Python
8
1
September 25, 2019
xlwings: The easiest way to deploy your Python powered Excel Spreadsheets on Windows.
Hmm. To be honest I expected to see a slick solution to the problem of deploying/sharing spreadsheets that use this. It appears that there really isn't a slick solution; you have to zip up the spreadsheet along with with xlwings module, any modules you've written, and also depend on them installing Python. Freezing slightly simplifies this, but it's still a bit much. I wonder if there's value in creating an Excel add-in that streamlines the whole process and allows bare spreadsheets to be sent around? More on reddit.com
🌐 r/Python
13
65
April 8, 2014
🌐
Reddit
reddit.com › r/python › i built xlwings lite as an alternative to python in excel
r/Python on Reddit: I built xlwings Lite as an alternative to Python in Excel
March 31, 2025 -

Hi all! I've previously written about why I wasn't a big fan of Microsoft's "Python in Excel" solution for using Python with Excel, see the Reddit discussion. Instead of just complaining, I have now published the "xlwings Lite" add-in, which you can install for free for both personal and commercial use via Excel's add-in store. I have made a video walkthrough, or you can check out the documentation.

xlwings Lite allows analysts, engineers, and other advanced Excel users to program their custom functions ("UDFs") and automation scripts ("macros") in Python instead of VBA. Unlike the classic open-source xlwings, it does not require a local Python installation and stores the Python code inside Excel for easy distribution. So the only requirement is to have the xlwings Lite add-in installed.

So what are the main differences from Microsoft's Python in Excel (PiE) solution?

  • PiE runs in the cloud, xlwings Lite runs locally (via Pyodide/WebAssembly), respecting your privacy

  • PiE has no access to the excel object model, xlwings Lite does have access, allowing you to insert new sheets, format data as an Excel table, set the color of a cell, etc.

  • PiE turns Excel cells into Jupyter notebook cells and introduces a left to right and top to bottom execution order. xlwings Lite instead allows you to define native custom functions/UDFs.

  • PiE has daily and monthly quota limits, xlwings Lite doesn't have any usage limits

  • PiE has a fixed set of packages, xlwings Lite allows you to install your own set of Python packages

  • PiE is only available for Microsoft 365, xlwings Lite is available for Microsoft 356 and recent versions of permanent Office licenses like Office 2024

  • PiE doesn't allow web API requests, whereas xlwings Lite does.

🌐
PyPI
pypi.org › project › xlwings
xlwings · PyPI
Make Excel fly: Interact with Excel from Python and vice versa.
🌐
PyXLL
support.pyxll.com › hc › en-gb › articles › 360042910613-What-is-the-difference-between-PyXLL-and-xlwings
What is the difference between PyXLL and xlwings? – PyXLL
June 2, 2025 - TL;DR: PyXLL is an Excel add-in that embeds Python into Excel for seamless, high performance Excel Python integration. xlwings is a higher level wrapper around the COM/AppleScript Excel Object Model APIs for automating Excel tasks with Python.
Find elsewhere
🌐
GitHub
github.com › xlwings
xlwings · GitHub
xlwings is a Python library that makes it easy to call Python from Excel and vice versa.
Top answer
1 of 3
79

You are correct in that xlwings relies on pywin32, whereas openpyxl does not.

openpyxl

A ".xlsx" excel file is essentially a zip-file containing multiple XML files formatted according to Microsoft's OOXML specification. With this specification it's possible to create a program capable of directly reading/writing excel files in just about any programming language. This is the approach applied in openpyxl: it uses python code to read/write excel files directly.

xlwings

A Microsoft Excel application can be started and controlled by an external program through the Win32 COM API. The pywin32 package provides an interface between Win32 COM and Python. Through a python script with the right pywin32 commands you can fully control an Excel Application (open excel files, query data from cells, write data to cells, save excel files, etc.). The pywin32 commands that you can use mirror the Excel VBA commands, albeit with python syntax.

xlwings is (among other things) a user-friendly wrapper around pywin32. It introduces several concise-yet-powerful methods. An example would be the methods for direct conversion of an excel cell range to a numpy array or pandas dataframe (and vice versa).

Summary

A fundamental difference between xlwings and openpyxl is that the former requires that MS Excel is installed on your machine, whereas the latter does not.

2 of 3
0

in-term of simultaneous opening of workbook while using xlwings, you can actually stop it with this statement line1 app=xw.apps.active, line2 if app is none: line3 app=xw.app(visible=False)if you are not comfortable with it. The limitation is that u cannot use xlwing without installing Excel in your local machine, but since you are working with excel you need excel app. but generally xlwing covers a lot as a learner you see the effect of code in Realtime. both of are mostly use your choice depend on your project.

🌐
Medium
medium.com › @amarharolikar › -8541eff4eb73
Python workflows inside Excel with xlwings Lite (free) — powerful | by Amar Harolikar | Medium
March 29, 2025 - Another superb addition to analyst and data scientist’s toolkit — xlwings Lite. From Felix Zumstein, creator of xlwings — the powerful and widely used Python package for Excel automation.
🌐
Medium
srinath-sridharan.medium.com › xlwings-your-wings-to-fly-higher-with-excel-and-python-installation-and-usage-included-dccc90525395
xlwings — Your Wings to Fly Higher with Excel and Python (Installation and Usage included) | by Srinath Sridharan | Medium
December 18, 2023 - In the realm of data analysis and automation, combining the power of Excel and Python can be a transformative experience. Microsoft Excel excels at managing spreadsheets, while Python is a versatile programming language. The bridge between these two worlds? Enter xlwings.
🌐
Dataquest
dataquest.io › home › blog › xlwings tutorial: make excel faster using python
xlwings Tutorial: Make Excel Faster Using Python
April 9, 2023 - Pythons xlwings is a tool that allows you to use Python code to control and analyze data in Excel spreadsheets. This tutorial will help you get started.
🌐
Microsoft
marketplace.microsoft.com › en-us › product › office › wa200008175
xlwings Lite | Microsoft Marketplace
xlwings Lite brings the power of Python to Excel including custom functions and scripts.
🌐
Xlwings
docs.xlwings.org
xlwings Documentation
xlwings (Open Source) is a BSD-licensed Python library that makes it easy to call Python from Excel and vice versa:
🌐
YouTube
youtube.com › channel › UC48ICUFi-12j8ka6AIhsg1Q
xlwings
AboutPressCopyrightContact usCreatorsAdvertiseDevelopersTermsPrivacyPolicy & SafetyHow YouTube worksTest new features · © 2026 Google LLC · xlwings - YouTube
🌐
Xlwings
docs.xlwings.org › en › stable › quickstart.html
Quickstart - xlwings Documentation
The easiest way to get everything set up is to use the xlwings command line client from either a command prompt on Windows or a terminal on Mac: xlwings quickstart myproject.
🌐
GeeksforGeeks
geeksforgeeks.org › python › working-with-excel-files-in-python-using-xlwings
Working with Excel files in Python using Xlwings - GeeksforGeeks
April 28, 2025 - Xlwings makes automating Excel with Python easy and can be used for- generating an automatic report, creating Excel embedded functions, manipulating Excel or CSV databases etc.
🌐
Reddit
reddit.com › r/python › xlwings: the easiest way to deploy your python powered excel spreadsheets on windows.
r/Python on Reddit: xlwings: The easiest way to deploy your Python powered Excel Spreadsheets on Windows.
April 8, 2014 - My main goal in designing xlwings was to enable a no-installation experience: I personally find unzipping a file easier than having somebody install an add-in (File > Options > Add-Ins > Go ... > Browse > OK) which on top obviously still requires a local Python installation(!).
🌐
Xlwings
docs.xlwings.org › en › stable › installation.html
Installation - xlwings Documentation
The dependencies are automatically installed via conda or pip. If you would like to install xlwings without dependencies, you can run pip install xlwings --no-deps.