xlwings_utils: Secure Cloud Access & VBA Bridge
Published: January 11, 2026
Import/export and manipulate images, PDFs, and binary files with xlwings Lite

Ruud van der Ham has built xlwings_utils - solves two big problems I hadn't tackled. First: secure, private Dropbox access using OAuth tokens instead of shareable URLs. The same OAuth pattern works for Google Drive and GitHub (I tested both). No proxy, fully private for client data.
Second: local filesystem access via VBA bridge. xlwings Lite runs in browser sandbox - can't touch local files. His VBA bridge lets you import local images, manipulate PDFs with Python, export results back to local folder.
Spent time digging through his code. Powerful solutions.
▪️ The Dropbox approach: Secure & Private
My importer uses sharing links with CORS proxy. Works, but data passes through proxy. Ruud's approach: direct Dropbox API with OAuth refresh tokens. Set up tokens once as environment variables, that's it. I tested it works for Google Drive and GitHub also (GitHub needs proxy as it's not CORS enabled). More setup, but fully private.
I'm adding this to my importer. Non sensitive data - shareable URLs. Private data - token-based API.
▪️ The VBA bridge: This is the real breakthrough
Problem: Can't import or export files, local images or PDF to local folder with xlwings Lite.
Ruud's solution: VBA macro bridge with base64 encoding. Python encodes files to base64, writes to Excel sheet chunks, VBA reads and decodes to local filesystem. Reverse works too.
Use cases I'm testing:
- PDF Reports: ReportLab with matplotlib charts. Export directly to C:\Reports. I was routing via cloud backend - this is way simpler.
- Complex Charts: 3D plots, polar charts, heatmaps. Generate in Python, export as PNG or insert into Excel/PowerPoint using openpyxl from within xlwings Lite.
- Batch Image Processing: Import 50 images via VBA bridge, process iteratively with PIL, export back.
- Import zip - unzip in xlwings Lite - process - zip - save back to local.
- Trigger email with attachment.
Building baseline tools with VBA bridge for common workflows.
Other utilities:
- stdout capture: Batch 1000+ print statements to memory, write once to Excel.
- Virtual filesystem helpers: Debug what files exist in Pyodide's virtual environment.
- openpyxl integration: Convert between block structure and openpyxl worksheets.
Links: xlwings_utils: github.com/salabim/xlwings_utils
Solid engineering. If you're doing serious work in xlwings Lite, check it out.
Both tools built on xlwings Lite - created by Felix Zumstein
xlwings Lite official site: lite.xlwings.org