Hacker Newsnew | past | comments | ask | show | jobs | submit | fzumstein's commentslogin

Have you tried the CSP build of AlpineJS? It takes the code out of the template into a proper JS file, no unsafe-eval. Isn't state management mostly handled on the backend when you use AlpineJS?


I am not a random user, but the creator. The dependencies are managed via standard requirements.txt file, which is stored in the Excel workbook itself. When you open xlwings Lite with the workbook, the dependencies are installed from either PyPI or Pyodide's own repository (after the first download from the browser's cache).

Direct db queries are indeed a restriction of Wasm/Pyodide, but there are more and more databases offering a HTTP layer. For example, Supabase has this built-in via PostgREST. For Oracle, there is Oracle REST Data Services (ORDS). Ultimately, you can also build your own little proxy server, although that's a little bit more work, but might still be worth it for company-internal use.


I have a couple use cases in mind and am excited to give it a whirl. Thanks for creating this!


No, this is for Excel only, but it does work with the free online version of Excel. I think LibreOffice has support for Python via PyOO.


SQLookup is an Excel add-in that gives you access to the SQLOOKUP function. The SQLOOKUP function allows you to query data in your Excel workbook using SQL (SQLite dialect). The add-in is free and works with Excel on Windows, macOS, and web. It can be installed via the add-in store.


So basically it’s free for 1 day per month (I only use chat).


It's exactly why I built xlwings, to replace VBA with Python. Python in Excel instead is a competitor to the Excel formula language.


Tools like xlwing are excellent, but people want to start excel first and stay in that interface.

If we are going to open up Jupyter notebooks, we have already failed.

(That's why VBA works, it's the only thing that runs on locked down corp laptops, because it's inside Excel.)


As the author of said second class add-in, let me just guess that your most popular feature request was adding the "Import from xlsx" functionality...which describes the whole issue: it's always Excel + something, never something instead of Excel.


My apologies, that came off harsher than I intended. I've used xlwings in previous jobs to complete Excel automation tasks, so thank you for building it. xlwings is one of the projects that motivated me to start Row Zero. My main issue with it, and other Excel add-ins, is they break the promise of an .xlsx file as a self-contained virtual machine of code and data. I can no longer just send the .xlsx file - I need the recipient to install (e.g.) Python first. This makes collaboration a nightmare.

I wanted a spreadsheet interface, which my business partners need, but with a way for power users (me) to do more complicated stuff in Python instead of VBA.

To borrow your phrasing, our thesis is that it has to be Excel-compatible spreadsheet + something, not necessarily Excel + something. It's early days for us, but we've seen a couple publicly traded companies switch off Excel to Row Zero to eliminate the security risks that come with Excel's desktop model.


No offense taken, and happy that xlwings was an inspiration for creating Row Zero! I don't really buy the security issues though for being the reason for switching from Excel to Row Zero. Yes, Excel has security issues, but so does the cloud, but at least the issues with Excel can be dealt with: disable VBA macros on a company level, run Excel on airgapped computers, etc. Promising that your cloud won't be hacked or is unintentionally leaking information is impossible, no matter how much auditing and certification you're going through. The relatively recent addition of xlwings Server fixes pretty much all of the issues you encountered in your previous company: user don't need a local installation of Python, but the Office admin just pushes an Office.js add-in to them and their done. No sensitive credentials etc. are required to be stored on the end-users computer or spreadsheet either as you can take advantage of SSO and can manage user roles on Microsoft Entra ID (that companies are using already anyways).


xlwings is a competitor to VBA rather than openpyxl: openpyxl can read and write the Excel file on disk, without involving the Excel application. xlwings is all about automating the Excel application, and write macros and custom functions in Python.


Hi all, I am Felix, the author of the post. I just wanted to reiterate that this post was mainly meant as a summary of my GitHub issues I opened with them. So it should really be seen as a feedback to help them improve the product. Python in Excel currently covers a completely different use-case than xlwings, but Python in Excel inspired me to finally look into WASM and PyScript, which is an awesome product.


Hi,

Thanks for the post. Very insightful!

I'm looking forward to trying out your pywasm module, or should it be ESP (Excel Subsystem for Python)?


My most obscure video is about programming VBA in VS Code. Other than that, I focus on Python for Excel (no "Python in Excel"): https://www.youtube.com/@xlwings9689


Nice - you have a lot of subs! How long have you been doing it for?


It's been 10 years. But upload videos very irregularly.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: