Hacker News new | ask | show | jobs
by fzumstein 1033 days ago
Thanks for your work! The async JS functions are amazing and allowed me to ship rock-solid Custom functions with xlwings and Python. The problem with Office.js is that it’s just simply too hard to get started with all the npm bloat for the average Excel user (even more professional devs struggle). Well, I am pretty happy how I am saving users from having to use Node.js: https://docs.xlwings.org/en/latest/pro/server/officejs_custo...
2 comments

Oh this must be Felix! I saw and played with xlwings many years ago and was impressed :)

Agreed with the friction around getting started. I would like to see it reduced. It’s cool to see you using them to wrap Python functions - I have done something similar before myself, and still need to get around to shimming Haskell into excel at some point.

Another thing I don’t like is how JavaScript Custom Function cell formulas have a horrible string after the _xldudf marker, which becomes noticeable if your workbook doesn’t/can’t load the custom functions addin (or you unload the addin)

Thanks for your comment

It's me, yes, are you Michael then ;)? Yeah, I love the Office.js platform, I believe it's the most versatile extension platform there is, it just came out during an unfortunate time (when people believed that you can't use JS without React anymore ;) Anyhow, the magic of Office.js is that you can use it like a JS framework with total freedom what you use on the backend (it's just a fetch call away), so whether that is .NET or Node or Python/R/Julia doesn't matter at all, it's just that the official docs don't really bother to explain that or show an example other than Node & C#. What's a game changer (and only available on Office.js) is the integrated authentication via SSO/Azure AD, which is the first thing any IT department in a corporation is interested in.
I’m not Michael - presuming you are referring to Michael the PM. I was a dev. I’ll add you on LinkedIn.

Great to here you praise auth. I almost forgot getting auth ‘right’ inside Excel was a real time burglar.

> The problem with Office.js is that it’s just simply too hard to get started with all the npm bloat for the average Excel user (even more professional devs struggle)

IMO deployment is an even harder problem. The Office team makes it incredibly difficult to deploy web add-ins (presumably for business reasons) and accordingly most companies I'm familiar with are still using the ancient, barely-supported COM+VSTO add-in models.

Which part do you find difficult? The web backend or the deployment of the Manifest.xml via the app store / office admin?
The part that makes it a non-starter is that it has to be in some kind of a store (whether it's on prem via SharePoint) or the Internet. What is needed is that you can install something on the user's computer (xcopy install, msi, w/e), but without requiring any other Microsoft end-point. And then, the bits installed either run completely on-node (similar to COM/VSTO) or it would require that access to remote web-server be required. If a remote web-server is required (which is a bit of a limitation), it should be something that can be pointed to without Microsoft's involvement. Just like I can create a web-site, give you a URL to it, and you can go it using your WebBrowser. No app-stores.

That doesn't mean app-store shouldn't be an option. I would love to also publish my add-in in the Microsoft AppStore, but it should be my choice, not a hard-requirement.

That's why people are still using VSTO, not because we have a problem with JavaScript vs. C# or COM.

Totally agree on the part of the add-in: Just give us a dead-simple method to load the manifest locally and be done with it!
The app store / Office admin stuff. When I was dealing with this stuff 2 years ago, it was insanely difficult to deploy a web add-in internally (something involving the "Microsoft 365 admin center"), let alone deploy it to customers (gotta get approval to deploy it in the special Office app store, and hope+pray that your customers' IT departments don't block that).

Compare to VSTO, where IIRC installation just involves editing a registry value to let Office know where your add-in can be found on disk.

You just reminded me I tried to make an office addin a few years back and distribute it on the office store. Terrible experience trying to get Microsoft’s admin/business center (whatever it is/was called) to verify I was actually a real human/owner of the domain as a sole proprietor. Terrible.