[HN Gopher] Microsoft is bringing Python to Excel ___________________________________________________________________ Microsoft is bringing Python to Excel Author : Xeophon Score : 619 points Date : 2023-08-22 13:10 UTC (9 hours ago) (HTM) web link (www.theverge.com) (TXT) w3m dump (www.theverge.com) | sixothree wrote: | Now if they could only fix the issue where dates are converted | into scientific notation. For the past 10 years I've been getting | a steady stream of excel files with sometimes thousands of dates | that are formatted incorrectly. And there is literally no "easy" | way to fix this. | | I'm tired of it Microsoft. Just fix the darn issue please. | curiousgal wrote: | Meh, as an advanced user on a trading floor we don't need Python | for Excel to run on the cloud, we need it to run locally so we | can tap into our in-house C++ library and KDB databases. Third- | party solutions have so much overhead. | icapybara wrote: | Sounds like you're doing something too sophisticated for Excel. | curiousgal wrote: | We are essentially using it as a UI for the traders. | diarrhea wrote: | C++ FFI from Python from Excel. Now this is podracing. | sauwan wrote: | How will this work in practice? Will this just be python version | 3.XX forever? How will packages be maintained? Do you get to | specify any of this so when a future version of a package is | introduced without backwards compatibility it doesn't break | everything immediately? | Nifty3929 wrote: | I was so excited about Python in Excel, until it said "run in the | cloud." There just doesn't seem to be any reason for this except | to tie you into their cloud service. It feels so much like | protecting me from unsafe printer ink. | | I'm generally a fan of MS Office products and try to give them | the benefit of the doubt. | | Please help me think of a plausibly good reason for requiring | Python to run in the cloud, that is not just about lock-in. | _untra_ wrote: | Not asking customers to manage a local python installation is | one thing, although I totally understand how excel + python | power users would likely be comfortable bringing and | maintaining their own python runtime. | leetrout wrote: | Fun fact: Microsoft shipped Python code in 1996. The could do | it again if they really wanted to. | | http://python-history.blogspot.com/2009/01/microsoft- | ships-p... | skrause wrote: | You can just ship a copy of Python with Excel, no need to ask | anybody to maintain their own installation. | ryanisnan wrote: | This. Why you would leverage system python is beyond me. | vb6sp6 wrote: | [dead] | ivirshup wrote: | Anaconda distributions aren't exactly small. I'd also | assume there's some sort of environment isolation, so | you're getting multiple copies. Maybe one per workbook? | raincole wrote: | Does Excel run in a browser today? | | There are a lot, I mean _a lot_ apps that support scripting | languages and don 't need you to manage the language's | runtime yourself. Blender's UI is entirely in Python. | Civilization games have most game logic in Lua. | yonatan8070 wrote: | Inkscape (vector graphics) also has a built-in Python | install, same goes for Cura (3D printing), Fusion 360 (3D | CAD), and I'm sure many more | hospitalJail wrote: | These are red flags. M$ is forcing people into their cloud. | Their hijacking of your local file system with onedrive is a | great example that many people already ran into. | | I think we are about 5 years overdue from bailing from M$. They | need to be avoided. Every product from Windows to Office | already has anti-consumer features. | baz00 wrote: | I have to see some red flags here. The very nature and power of | Excel comes from the fact that workbooks can stand alone. This | means that the process is eternally tied to the cloud now. So | when you, 3 years down the line, have to open a workbook from | your deceased colleague, you are at the whim of the vendor | supporting the existence of this integration. | | Step one of any workload will always be "work out how to make the | software work again" and that's terrible. | | I know this because I have been in that situation several times | in the last couple of decades with random Excel, outlook and word | add-ins. And those don't even do the processing remotely! | jedberg wrote: | This will be true whether it uses the cloud or not. Excel | worksheets can already have external links (both on the Web and | to other files). If those web resources or other files aren't | available, you're out of luck! And the older ones may only open | on software that no longer runs on modern machines. | | This is why it's important to restore your backups once in a | while, or in this case, validate your critical files. | duxup wrote: | Yeah I've received so many broken Excel documents and it's just | constant frustration. | | Half the things don't work, customer is sure it worked in X ( | now broken and invisible way ) and they really don't remember | that correctly. | mrits wrote: | I haven't used a non-cloud spreadsheet in probably 7 years. I | also wouldn't use excel for anything that has a combination of | high importance and long lifetime though. It's mostly for some | brainstorming or thrown in a presentation as a screenshot. | csdvrx wrote: | > I haven't used a non-cloud spreadsheet in probably 7 years. | | Last time I use a cloud spreasheet was a month ago, to | download the content into Excel | | > I also wouldn't use excel for anything that has a | combination of high importance and long lifetime though. It's | mostly for some brainstorming or thrown in a presentation as | a screenshot. | | It's funny but that's exactly how I see online spreadsheet: | for unimportant things that may not work at any point in the | future if the account is closed. However, the collaborative | features make them nice for brainstorming. | mrits wrote: | If I had to download content locally I would tell them to | resend a csv. I hope you are doing this on a VM | datavirtue wrote: | There is probably a trillion dollars flowing through Excel | spreadsheets. | dnadler wrote: | Likely a gross underestimate, given all the financial (both | investment and risk) modeling done with excel. | datavirtue wrote: | I was trying to be conservative. | ayhanfuat wrote: | I think this is easier to manage to be honest. They are using | Anaconda distributions so if you tie each workbook to a | distribution with possibility to update/rollback it makes | things a lot easier than trying to manage a local installation. | baz00 wrote: | Try explaining that to the dude who inherited the workbook in | 9 months who doesn't know what Anaconda is, barely knows what | Python is and was told that his job was Excel which he's | really good at because he did a Udemy course on it 3 years | ago. | | That's the problem. | darkarmani wrote: | I'm not sure why that is a problem. He didn't have to know | anything about Anaconda. And for stability, you can still | install 10-year old python 2.7 packages from Anaconda. | | 9 months is no problem at all for stability. | ayhanfuat wrote: | I would assume that workbook would be tied to a version | that it was created in and the if the user does not want to | update they can just continue using it with the older | Anaconda distribution. They don't really need to know what | Anaconda is in this scenario. It only becomes necessary if | you want to update a certain workbook to a newer version. | iancmceachern wrote: | The new competition to this market have gained market share by | making workbooks not stand alone, it's a whole growing product | segment. So they either have to evolve or die. | | It's not a red flag, it's evolution | seanw444 wrote: | > This means that the process is eternally tied to the cloud | now. | | "You will own nothing, and you will be happy" has followed us | to... spreadsheets? We can't even own the things we're | wageslaving away at our desk for. | dragonwriter wrote: | > We can't even own the things we're wageslaving away at our | desk for. | | But we never owned those things we're wageslaving away at our | desk for, that's why its called wageslaving. Whether our | _employers_ own them or rent them seems pretty immaterial. | BSEdlMMldESB wrote: | the 'cool' thing | | is that not even the purported 'business owner' owns their | own data, what do they actually own? what is even their | business? | | on the modern trend, all businesses really are: is just a | collection of subscriptions to service providers like | MS.... where's the actual business??? | seanw444 wrote: | Yeah I didn't phrase it well. My point was even our work is | becoming intangible now "for the greater good." Just funny | to see the progression of things. | ayhanfuat wrote: | Disappointing: | | > Python in Excel is currently available to users running Beta | Channel on Windows. This feature will roll out to Excel for | Windows first, starting with build 16.0.16818.2000, and then to | the other platforms at a later date. [1] | | > Python in Excel is available in Excel for Windows. The feature | is not available in Excel for Mac, Excel on the web, Excel for | iPad, Excel for iPhone, or Excel for Android. On unsupported | platforms, workbooks containing Python can be viewed but Python | cells display an error when recalculated. [2] | | [1] https://techcommunity.microsoft.com/t5/excel- | blog/announcing... | | [2] https://support.microsoft.com/en-us/office/introduction- | to-p... | jzawodn wrote: | definitely_not_malware.xls.py | timetraveller26 wrote: | Is this the end for internal javascript frontends? | | Should I learn python for Excel instead of Django? | vba wrote: | This was a nice surprise to see today as an Ex-Excel developer | who worked on trying to bring Python to Excel (and, I guess, | failing ;)). | | 7+ years ago I had the option of leaving the Excel team. My then | boss's boss knew I had an interest in bringing Python to Excel | and offered me a chance to tackle it if I chose to stay. What was | meant to be a 6 month project turned into a ~3 year project, the | Python part faded away and we ended up enabling JavaScript Custom | Functions in Excel instead. | | For Python we were also running 'in the cloud' (AzureML v1), | although there was some back-and-forth on if we should run | locally. I think what made the Python part disappear was our | partner AzureML team re-orged, re-released, re-hired, we lost a | PM and our work caught the attention of another partner team who | realised they could use our code to execute their JavaScript out- | of-process. And so I spent a lot of time ensuring that feature | was successfully shipped at, I guess, the detriment of Python. | | I had a lot of help from some strong engineers and learnt a lot. | The core of the work was modifying the calculation engine of | Excel to allow functions to compute asynchronously, allowing the | user to continue working on other parts of their spreadsheet | while the remote endpoint (be it JavaScript, Python or something | else) was computing. Previously the spreadsheet would lock up | while calculations were running, and that wouldn't be cool for | long-running unbounded calculations. Have to wonder if any of the | stuff we built made it into this new feature. | | Super great to see this and look forward to trying it out. | | Recalc or die | paulddraper wrote: | Appropriate username | doctorpangloss wrote: | > the Python part faded away and we ended up enabling | JavaScript Custom Functions in Excel instead. | | Nobody could have anticipated that GPT4 would author Python | better than anything else. | | Nonetheless, I kind of just want Google Drive except Excel, | without adopting anything more than the Office ecosystem, that | just works with simultaneous editing. | jakzurr wrote: | That's really an interesting story; thanks for sharing it. | bubblebobble wrote: | This is so weird. I built a working "python within excel" a few | years back. (it also did sql and matlab&r remotely) | | Abandoned now: https://alphawolfxl.com/ | | I abandoned this when some people I asked to beta test it said | "their company wouldn't pay for it" and gave me the impression | I'd wasted my time.... | | ....Not sure how to feel about this..... | jll29 wrote: | You were just ahead of your time! | kosolam wrote: | Don't feel too bad because if you would have created a | product from it, today this product would be deprecated.. | fzumstein wrote: | I don't think that's necessarily true. They built VSTO for | C#, but everybody was using ExcelDNA instead, an Open | Source solution that was much better! | dnadler wrote: | Thanks for your work on that! I use custom JavaScript functions | to hit our internal analytics API. It was really nice to work | with. | vba wrote: | Thanks for your kind words. Did you ever use streaming | function to update your analytics periodically or when new | data become available? | fzumstein wrote: | 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... | vba wrote: | 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 | fzumstein wrote: | 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. | [deleted] | ripley12 wrote: | > 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. | fzumstein wrote: | Which part do you find difficult? The web backend or the | deployment of the Manifest.xml via the app store / office | admin? | kasajian wrote: | 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. | fzumstein wrote: | 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! | rvba wrote: | Do you know why Microsoft never made proper examples of the new | technology? The few examples provided are for programmers only. | | In general there is a scarcity of _working_ code that you can | inspect to see how javascript in Excel works. | | Now it is mostly "how to draw an owl" | vba wrote: | I don't unfortunately. Given the more technical nature of the | feature I'm inclined to agree Microsoft should make a | bountiful supply of working examples. | fzumstein wrote: | Glad I am not the only one with this impression :) | smitty1e wrote: | Great user name. | | I have a private github repo called NVBC, the | "NecroVisualBasiCon", with all of my favorite VBA-isms. | | When I code it, I indent all of the `End *` lines to column 80, | to make the VBA look more like python. | bubblebobble wrote: | This is so weird. I built a "python within excel" a few years | back. | | Abandoned now: https://alphawolfxl.com/ | | It allowed python functions to be run on cells and ranges, and | also allowed ranges to be filled with sql queries on databases. | | I had managed to get also a matlab runner working (via | matlab/java connector) and was just getting the R connector | finished. | | Basically, I made a website showing it working and gave a few | people the plugin, and their feedback was "nah, my company won't | pay for it, you're wasting your time" - so I shelved the project. | | I have no idea what my emotions are doing right now :) | codethief wrote: | > Python calculations run in the Microsoft Cloud | | A colleague was joking, "I guess even Microsoft itself isn't able | to manage local Python installations on Windows..." | | But imagine if Microsoft actually managed to finally solve the | "setup a local Python environment" situation once and for all and | Excel became the standard Python package manager across operating | systems! $ excelpip install fastapi==9.11.23 | Searching for fastapi version 11.09.2023... | dogleash wrote: | > A colleague was joking, "I guess even Microsoft itself isn't | able to manage local Python installations on Windows..." | | I've been waiting for Microsoft to solve package management on | Windows since I played around with debian's apt 20 years. | That's not snark, it seemed like Microsoft's product complexity | and dedication to backwards compatibility of software would | make them the ones to move software management forward. Really | dig into the problem space and reinvent the package manager | beyond anything that's come out of the open source space. | | Instead we've got windows update, windows features, microsoft | store, software center and winget (you know, that Microsoft- | built package manager for Windows you install from the other | Microsoft-built package manager for Windows). | LexiMax wrote: | > It seemed like Microsoft's product complexity and | dedication to backwards compatibility of software would make | them the ones to move software management forward. | | That's precisely why they _didn't_ go with the package | manager model of software distribution. | | Package managers in most distros assume that everything you | download via apt/dnf is a part of the operating system and | integrates with whatever dependencies the OS ships with. It's | a great system if you're an operating system maintainer, but | terrible if you're a third-party software developer who has | no interest in dealing with 5-6 different OS's repo formats | and dependency versions. On Windows and macOS, you vendor | most everything, provide runtime installers for the rest, and | that's usually enough to be resilient to bitrot. | | Package formats like Flatpak, Snap and AppImage are the only | projects who seem to be taking the problem of software | distribution on Linux seriously, and of those only Flatpak | seems to have the mature tooling and lack of myopia necessary | to pull it off. For the times that I do miss apt on Windows, | chocolatey is pretty good at installing software and vcpkg | works great for linkable libraries. | nxobject wrote: | My mind can't help think of the following problem... would | Microsoft have to freeze an LTSC set of packages? How would | $GOV_AGENCY using a version of Excel one generation behind | collaborate with the world? | CafeRacer wrote: | Nice, waiting for the new machine on HackTheBox :-D | TalhaKhan99 wrote: | Is this feature primarily a function of web assembly? I.e because | if we assembly you can run python natively in the browser? | jk3000 wrote: | https://www.xlwings.org/ | chad1n wrote: | While I can see the advantages of Python over VBA, I feel like | running the code in the cloud instead of locally will be a big no | from a lot of people, especially enterprises running offline | Office installations. | catboybotnet wrote: | Aw, shoot. I thought I would be able to have fun sending | coworkers: import os | os.rmdir("C:\Windows\System32") | make3 wrote: | shutil.rmtree, unless their System32 is empty | TalhaKhan99 wrote: | Is this feature enables because of Webassembly? Considering that | we assembly let's people run python code natively in the browser? | Qem wrote: | Now that Microsoft embraced Python, what are the odds it will go | all the way to extend and extinguish it (or at least CPython as | reference implementation)? There are much more excel users than | programmers. If excel runs Python, it has the potential to become | the "de facto" standard interpreter, used by most people | worldwide, displacing CPython. | kortex wrote: | Between nil and zero. Just because excel is "bigger" by various | metrics, does not give MS any more ability to quash Python. The | software world is way larger than it was in the heyday of EEE. | | Excel still has a fraction of the power Python does, it's not | becoming "de facto" anything that it isn't already de facto for | (which is highly interactive data wrangling and making reports | by folks who cant/won't use a python env for that task). | MassiveBonk51 wrote: | This seems like pretty bad news for all the excel but programatic | type startups I've seen floating around. Being able to work | locally might be their only hope. | gradascent wrote: | I imagine this is a stage in a larger plan to incorporate an AI | assistant to excel? Being able to talk to your spreadsheet in | natural language and have it do a bunch of analysis and | visualizations would be a huge productivity booster. | nailer wrote: | Direct link to announcement: | https://techcommunity.microsoft.com/t5/microsoft-365-blog/in... | RobinL wrote: | Does anyone yet have a full list of the supported python | libraries? | | There's a partial list here: https://support.microsoft.com/en- | gb/office/open-source-libra... | Aaronstotle wrote: | Does this mean you can get an infected Excel file that use python | macros? This is a serious question, I know a lot of attacks use | Excel macros. | racl101 wrote: | HELL YEAH! | sharts wrote: | You can always count on out of touch Microsoft PMs to over salt a | good idea. | | Always one step forward, two steps back, and one to the left. | | I remember interviewing in Redmond once and the PM couldn't | understand why Windows Vista wasn't doing well because it seemed | to run excellent on his overpowered PC. | twobitshifter wrote: | It's interesting but if you are good enough at Python, can't you | already write to and read from spreadsheets? Maybe moving up a | Python excel library like xlrd and openpyxl and making it | reactive would be more worthwhile for Microsoft. Writing Python | code in that little formula bar as shown doesn't seem attractive. | Writing Python in VSCode and seeing the results appear in the | spreadsheet in real time would be great though. | amon22 wrote: | No, you use Excel when you need a data manipulation program | quickly and you want to ship it to clients without any | installation or training. You just send the workbook to your | client and it's done! | | It's very self-contained, what works on your machine is almost | guaranteed to work on the client's computer, given that they | have the same Excel version. It's also very reliable, VBA apps | can work for years without any maintenance or support. | | Openpyxl is fine if you want to generate a report and send the | results but for anything dynamic you would need to ship an | interpreter, plus generate an exe, plus ship a workbook with | the data, plus you probably need to write a GUI (users freak | out from the cmd). This is much less reliable and requires | constant support to users, VBA/excel apps rarely do. | | This Python integration is a bit disappointing though as the | "killer feature" of Excel is that it's self-contained and now | it will rely on MS's cloud. This is yet another integration | that will fail to kill VBA (we had JS and .net already but had | similar issues), it seems that MS doesn't really understand how | people use Excel :) | twobitshifter wrote: | Great points, since it's in the cloud it's no longer self | contained. We are already in some hybrid works with extra | dependencies. | | And if that's the case, why can't the .py files live in the | cloud too? The need for an interpreter didn't go away, | Microsoft is just hosting it for you. | TrackerFF wrote: | I've worked at places where we were not allowed to install | Python, nor were we allowed to run executables that weren't | greenlighted by IT beforehand. | diffeomorphism wrote: | Wait just a moment. Libreoffice had python for years, but nobody | cared and instead complained about needing 100% compatible VBA | for "real work". Where are those people now? | Bjartr wrote: | Not offended that Excel can do more, but potentially still | inconvenienced by Libreoffice not having the thing they are | familiar with or are forced to work with? | PurpleRamen wrote: | If it sucks, people won't use it. | | If people don't know about it, people won't use it. | | If people are accustomed to something different, people will | ask for it. | BeetleB wrote: | The problem with Libreoffice was that the python support was | purely documented. | iso8859-1 wrote: | I wrote some new docs on this recently: | | * https://wiki.documentfoundation.org/Macros/Python_Guide/Cal | l... | | By having Python in Basic, it becomes available to cells too, | since Basic macros are callable from cells. | | Note that you may need to reduce the security level to | 'medium' in the drop down Tools->Options->Libre | Office->Security->Macro Security. When LibreOffice opens, it | will ask you whether you want to enable macros or not. | jenscow wrote: | finding another straw-man? | amon22 wrote: | I would happily use Libreoffice if any of my clients did. But | nobody does. Compatibility would be nice so I can write stuff | in Libreoffice Calc on Linux (Excel has 0 Linux support) and | ship it to clients without issues, but this even close to be | possible. | pessimizer wrote: | Right here. It's also not about 100% compatible VBA, it's about | learning an entirely new API in order to write VBA-backed Excel | spreadsheets that won't run in Excel. If Libreoffice VBA were | compatible with Office VBA, I'd have no reason to always keep | an outdated Windows system in the closet somewhere. | | The reason we're doing this is to make money, and nobody wants | to buy Excel spreadsheets that don't run in Excel. | PurpleRamen wrote: | Seems cool, and a bit awful. Writing elaborated python-code in | that little text-field must be a nightmare of its own. Where can | I connect a VS Code or vim to the sheet for coding in comfort? | diarrhea wrote: | My thoughts too. Not having to install outside software is | treated as a feature, but it is a lost opportunity: Excel with | tight VSCode integration sounds like a killer app for decades | to come. Two best-of-class (respectively) programs, each in | realms dominated by Microsoft. Combine the two and unique | possibilities unlock, bridging the gap between business and | development. | Spinnaker_ wrote: | Excel has an editor. Try hitting alt+f11. "Open in vscode" | would be an excellent feature though. | pessimizer wrote: | No one seems to know that an VBA IDE is part of Office. It's | important to remember when you're working on an extremely | locked-down system and you want to do something complicated. | danten12 wrote: | When I worked at a hedge fund being introduced to Python after | years of working in spreadsheets was a revelation. | ChatGPT/Copilot have dramatically reduced the cost of switching | to the IDE for bankers/investors/consultants who make up | Microsoft 365's core user base. | | Surprising that Microsoft would give users this gateway drug, but | I suppose the reasoning is that you can keep your users by making | Excel a quasi-IDE. | steno132 wrote: | Many comments are criticizing the fact that this only runs in the | cloud. And if Microsoft instead announced this would only run | locally, they would instead be deploring the massive remote code | execution vulnerabilities that this opens. | | For this feature, there's no question that providing it in the | cloud is much, much better for security. Microsoft can now | execute the Python code in Firecracker VMs which provide much | better sandboxing than your local PC could. | globular-toast wrote: | My local PC can run code in Firecracker VMs. | bilsbie wrote: | Off topic but why can't we all go back to office 97? | | It basically does all the same stuff and it would be lightning | fast on modern machines. You don't even need internet to use it. | postexitus wrote: | You say 65k rows is enough for anyone? | shadowtree wrote: | XLOOKUP. | itomato wrote: | Thank you. Yes, I could get ELT to accept a "RAD" Access app | built and shipped during the time it takes to pitch to choose | just the CRUD library or JS Framework alone. | hermitdev wrote: | > why can't we all go back to office 97? | | For one, because people want more than 65,536 rows in their | spreadsheets. | | But, I'd largely agree that '97 was the pinnacle from a UI | perspective. There are changes under the hood that are quite | nice, though, especially with the move to xml persistence. | baz00 wrote: | Yeah strangely if you turn the ribbon off it doesn't look much | different and doesn't work much differently! | unnouinceput wrote: | None's stopping you to use MSOffice '97. I still use it from | time to time and current MSOffice is happily recognizing the | format and converts it on the fly. Also there is a tool that | you can install and see current formats to be able to open them | in MSOffice '97. | | As for why the rest of the world why would do that or not, is | their choice, no? | [deleted] | [deleted] | WillAdams wrote: | It'll certainly be a lot easier and more accessible than | pyspread: | | https://pyspread.gitlab.io | | (which I wish was more widely known/used) | cpursley wrote: | Related: https://www.quadratichq.com | bigmattystyles wrote: | I could swear I had seen this headline before, so much so that | when I was recently asked to help out in some old vba code, I | figured I'd port it over. Imagine my horror when I couldn't find | it. Imagine my horror seeing this now that I just finished. | starquake wrote: | I'm a developer. People have often come to me with Excel sheets | that were really slow because it was just too much for Excel. | Almost all of the times IMHO a specific solution should have been | developed for it. I'm curious to see if this makes it better or | actually worse. | mcdonje wrote: | Conway's law. Unless those people have devs or data engineers | embedded in their group, they're going to keep on with less | than ideal solutions. Management will accept those inefficient | solutions because they don't come with dev pricetags. | pessimizer wrote: | I don't doubt that you have, but in my experience the reason | they're slow is because updates haven't been turned off while | the macro was running, or naive algorithmic choices (that a | query planner might fix in the realm of normal programming, but | python wouldn't help with.) | bigfudge wrote: | If this is true then it will be amazing and very widely adopted. | Pandas in Excel would be cool. Fingers crossed. | diffeomorphism wrote: | Why? Libreoffice calc had python for years now and nobody | cared: | | https://help.libreoffice.org/6.3/en-US/text/sbasic/python/py... | codetrotter wrote: | Because the world runs Excel, not LibreOffice Calc. | pasc1878 wrote: | Beacuse anyone with a budget had Excel already - and had to | use Excel to be able to use other peoples' spreadsheets. | LibreOffice is not bug compatible with Excel. | | Look what Excel had tro do to replace Lotus 1-2-3. Including | making 1900 a leap year beacuse Lotus had the error. | bafe wrote: | I love free software as much as anyone, but when I'm forced | to use a spreadsheet I'm glad we get office at work. The | UI/UX of LibreOffice could use a lot of improvements | alexriddle wrote: | For someone working outside IT but who has coding skills, | it's great. My previous work computers have been tightly | controlled by IT and installing libreoffice on them wouldn't | have been permitted. | xxs wrote: | > it will be amazing and very widely adopted. | | The calculations in the cloud? | narcraft wrote: | Why would the vast majority of Excel users even notice or | care about this? | kbelder wrote: | The ones that use python would. It being cloud-based makes | it a pretty useless feature for anything that I was using | Python & Pandas for. | | If it was on the client side, I'd be rolling it out to | users the moment it was available. | debitcredit wrote: | We're working on this at op (https://opapp.io). Pandas in a | spreadsheet, just not an excel spreadsheet if you're able to | jump ship. | andsoitis wrote: | > If this is true | | https://techcommunity.microsoft.com/t5/excel-blog/announcing... | qntty wrote: | I'd be happy if I could just represent integers with more than | 15 digits without rounding (e.g. 64-bit primary keys) | xxs wrote: | 64bit can hold 20 digits (decimal), 20 (sortof) 19 completely | mkl wrote: | 64 bit integers can. Excel uses 64 bit floating point. Try | the formula =1 = (1+1e-16) | | and you'll get TRUE. | ChrisArchitect wrote: | Official blog post: https://news.ycombinator.com/item?id=37223257 | andromaton wrote: | Half joking: Now we know why Microsoft hired Guido. | version_five wrote: | From my skim they are incorporating a new-ish release of python. | I wonder how long until (and if) MS forks python to add some | functionality (extends it) and what happens next. Is it that | farfetched to picture corporates running MS python with dot net | integration or something and the ecosystem getting all screwed | up. | mcdonje wrote: | I hope this is the start of a wholesale python replacement for | VBA. Python has turned into what VBA always tried to be: A | ubiquitous language for data and scripting (among other things). | | Excel would be well served by replacing VBA with either JS or | python because of their ecosystems and high levels of adoption. | Python is the better choice because data analysts are more likely | to be familiar with it. | hathym wrote: | >> Python calculations run in Microsoft's Cloud No thanks! | cardamomo wrote: | That caught my attention too! I'm curious why they would choose | this model. | nixass wrote: | As soons as nonsense like this comes about you can tell | straight away that it's not in user's favor. It's probably to | tie you into subscription, data mining, selling mined data to | ad companies and squeez every single dollar they can out of | you | brokencode wrote: | Probably because Excel runs in a web browser nowadays and | they want to avoid creating a separate way of running Python | locally for a locally installed copy of Excel. | | Maybe they will in the future, but it makes sense to start | with the approach that will work in both web and local | installs. | v7n wrote: | I'm positive they've at least toyed with the idea of | running a Python interpreter in a WebAssembly module, which | should work in both environments _and_ provide some | isolation. The telemetry settings, I guess, wouldn't need | to be changed to call home about performance/errors. | | I can't attest to the performance of such technique for | now, though, or guess why they could have deemed it not | worth pursuing at the time being. | kbelder wrote: | In my corporate experience, casual usage of excel is in the | cloud. Any large, complicated, or db-connected spreadsheet | is done on local installations. | | The list of what snacks people are bringing to the potluck | is in excel online (or google sheets). | | The excel sheet that is pulling information from a | database, mashing it up, displaying it in a dozen different | pivots... that is going to be local. | tigeroil wrote: | Looking at what they're doing with Outlook I'd bet money | that they intend to replace the desktop version of Excel | with the web version sooner or later. | walthamstow wrote: | I agree but expect that Excel will be the very last app | of the suite that they make web-only. Excel heads like my | wife absolutely hate the web version. | csdvrx wrote: | > Excel heads like my wife absolutely hate the web | version. | | Have her try Excel 2010 or 2007 running on Wine (whether | using WSL or natively) | | For people who want their spreadsheet offline, it's | wonderful: fast and stable. | pessimizer wrote: | This is good news. I did not know this. | kaashif wrote: | A lot of people in finance are Excel heads and hate the | web version. And they have a lot of money to throw | around, surely Microsoft cares about them. | | I really don't see them killing the desktop version. | rvba wrote: | They are killing the deskrop version with sharepoint. | | Sharepoint and web-shared files make it very difficult to | link spreadsheets between each other, even one way | around. | | In theory it works, in practice it doesnt. (PowerQuery is | an inconvenient stopgap to simple links) | pessimizer wrote: | I could see the prices going up to Bloomberg-terminal | level, though, and everybody normal having to settle for | Excel 365. | Spivak wrote: | That's got to be the death-knell for Excel. It might be | better in every conceivable way but going web-only only | makes Sheets look more attractive to the people doing the | buying. And you can run JS in your Sheets right now. | HelloMcFly wrote: | I dread this day greatly, but it's definitely coming. | twen_ty wrote: | https://xkcd.com/1987/ | Our_Benefactors wrote: | A lot of people who use excel heavily are not really | "programmers" and don't have strong fundamentals or an | appetite to manage their own software stack. This also | simplifies development on MS end by only needing to validate | a single python version. | abenga wrote: | Then they should embed the supported version of python in | Excel and manage it automatically for them. This can be | validated with Excel before release. | 0cf8612b2e1e wrote: | This seems like the only solution. Do not copy all of | Python's warts, but offer a curated experience. Microsoft | Experience (TM) with fixed APIs, no package management or | dealing with ecosystem churn. | Spivak wrote: | It will never work because Python is the ecosystem. | Having Python without the ability to tap the huge | catalogue of existing software makes the integration | worthless. The first thing someone will want to do is use | Pandas on a live spreadsheet. | 0cf8612b2e1e wrote: | The use case is someone in Excel who does not want to | write VBA. You do not need to offer the entire ecosystem, | just a slightly better language to handle more | sophisticated modeling needs. | kortex wrote: | If you read TFA, you'd see that the python env comes with | a bunch of the favorites (pandas, matplotlib) baked in. | ltdanimal wrote: | Looking at all the packages available, I'm sure that's why. | You make it a much simpler thing to just develop that runtime | for a known environment that you control vs a browser/local | that requires a lot more engineering effort to make sure it | works correctly for everyone. | JBorrow wrote: | You could ship that known environment as an optional | download. | inglor wrote: | My guess is that it makes it easier to work on large files | which is common without downloading the whole file and it | makes CoPilot related efforts much easier. | | I work on Excel but not this feature and am happy to ask | around if people are interested. | felixgallo wrote: | The last thing in the universe I'm interested when editing | Excel is making CoPilot related efforts any easier. | kuchenbecker wrote: | Easier to debug a backend than clients code, single | implementation, faster updates, and performance not limited | by device. | | At the cost of privacy. Consider msft could sell this to you | but they chose to let you borrow it instead. | kspacewalk2 wrote: | The answer is in the question. They chose this model so that | Python calculations would run in the Microsoft cloud, | operating on data that resides in the Microsoft cloud. When | your code runs on the cloud, they get paid. When your data | lives in their cloud, they get paid. | RcouF1uZ4gsC wrote: | Because Python, with the required numerical analysis | libraries is a pain to setup, and there are a ton of ways for | it to get messed up. | | Doing everything in the cloud massively simplifies deployment | and support. | pid-1 wrote: | Microsoft could ship its own Python distro within Excel. | The biggest problem is that historically Guido / the | Steering Council have avoided being involved in how py libs | are distribuited, so there are many ways to do everything. | But if you do have an opinion and means to enforce it, | mantaining a Python environment can be a quite smooth | experience. | WorldMaker wrote: | A complication here is _how large_ the Python distro this | appears to be using is. I don 't know if you've ever set | up a container with all of anaconda, scikit, statsmodels, | pandas, Matplotlib, seaborn, and more but it gets pretty | big. A lot of people would complain about the bloat if | Excel installed it by default. | | Another complication is they claim the container isn't | just "a docker container", but for increased security | isolation (they don't want a repeat of VBA malware) it's | a mini-VM focused to run on top of Hyper-V (the Windows | Hypervisor) itself. That's a really complicated install | process on the average machine (like installing WSL2) | that sometimes involves flipping entire Windows Features | on, so also something unlikely to be a smooth experience | out of the box for Excel. | | It might be neat if they made that an optional install | and let users have offline support, but it sounded like | they wanted to focus on online and collaborative UX | first. | fullstop wrote: | Doesn't Guido work for Microsoft now? | ec109685 wrote: | Sandboxing python enough that millions of users could safely | pass around excel workbooks is a super hard problem, | especially when you allow third party libraries. | | Forcing it to run in an isolated environment they control | simplifies the problem greatly. | jasonjayr wrote: | Windows has it's own implementation of containers, and with | a docker-like structure, and xlsx being a zip file, excel | could simply have a dockerfile like structure "FROM excel- | python:2023" "COPY xlsx:scripts/" etc. new versions of | excel could keep the last few 'base' containers, or if they | are in love with the cloud, the signed, verified base | images could be pulled on request. | r00fus wrote: | Who's the CEO of Microsoft again? Satya would love this | approach. | petepete wrote: | Finally the Resolver One dream is coming true, just 15 or 16 | years late. | | https://www.youtube.com/watch?v=u6EV2jiKRfc | gpjt wrote: | Interestingly enough, when Resolver One didn't work out in the | marketplace, we pivoted to PythonAnywhere. That took off | nicely, and was acquired by Anaconda last year. And now | Anaconda is realising those old dreams :-) | | BTW for clarity: the team working on this inside Anaconda is | entirely separate from the PythonAnywhere team. It would have | made a perfect Hollywood-ready story if it had been the same | people... | petepete wrote: | Wow, thank you for replying. I'm so glad it worked out in the | end. | | I remember being blown away by the ResolverOne demonstration | video, and if I recall correctly, some others you posted | showing some of the other features and functionality. | | The fact VisiData (my current 'spreadsheet' of choice) has | acquired a sizeable following in that niche, and now Excel is | following suit suggests you might have just been a little too | far ahead of the curve. | cumshitpiss wrote: | game changers for the competitive scene, looking forward to | MAKRO's commentary | dicytea wrote: | It's interesting how _aggresively_ enthusiastic HN are about | Excel when it comes to discussions about Excel vs. open-source | alternatives. Any mention of alternatives are quickly and | aggresively shot down, ocassionally to the point of personal | attacks (if you 're satisfied with LibreOffice you don't have | real job, etc.). | | On the meanwhile, just a few threads ago there was a (quite fair) | browser benchmark where Chrome comes up on top on almost every | test. People in the comments instantly rushes in proclaiming how | proud they are for using Firefox _even_ if it is technically | inferior, solely because it is not owned by Google. | | What's up with this divide? Firefox user, btw. | maigret wrote: | I think it comes from users being deceived by the product UX. | My impression is that using Firefox, I often don't miss other | browsers. Using Libre Office makes me miss Excel, Keynote et | al. I can't pinpoint it to a single thing, it just feels dated | and inferior. Open source in general seems to work better for | infrastructure than applications, even if I have my own | favorites. It partly has to do with the lack of product teams | like designers, but also that an app is a single endpoint that | makes a hard business to sell multiple flavors. | nullifidian wrote: | I've been saying that Python is the modern day's Visual Basic and | now it has become the actual "Visual Basic". | rr808 wrote: | I work for a big bank. There is no way infosec guys would allow | this, its no use to us. Even ChatGPT is blocked. | dragonwriter wrote: | > Microsoft says Python in Excel will be included in a Microsoft | 365 subscription during the preview, but "some functionality will | be restricted without a paid license" | | Microsoft 365 subscriptions are paid licenses. This sentence is | nonsense. | sneak wrote: | > _"I'm excited that this excellent, tight integration of Python | and Excel is now seeing the light of day," says Guido van Rossum, | Python's creator and now a Microsoft distinguished engineer._ | | It's depressing seeing someone who has done so much work for the | free software community now working to enrich the spyware-laden | proprietary product offerings of a megacorp. | | Nothing about this is "good for Python" or hackers - it's just | good for Microsoft to sell more Excel (and Microsoft accounts). | That makes the world worse. | | I thought the B stood for benevolent. | Bostonian wrote: | Even installing Python seems to a hurdle for many employees. | They need to get approval from IT, and it seems not to get | done. They use Excel, and if they can use Python within Excel | without installing anything extra, it will increase the user | base of Python. After getting a taste of Python they may | install Python locally and use it outside Excel. So I think | this will be "good for Python". Certainly integration of VBA | into Excel has been good for VBA. | diarrhea wrote: | Here I was, hoping he worked on performance, typing, dependency | management or other hard, meaningful issues in the Python | ecosystem. | swyx wrote: | worth checking out Quadratic for an open source approach to | Python + Spreadsheets: | https://news.ycombinator.com/item?id=35456509 | | theres going to be multiple people tackling this problem but I | see it as a worthy one, theres no reason we should be needing VBA | in the future when we can run Python in browsers. | debitcredit wrote: | We're building Python (mainly python pandas) + Spreadsheets at | op (https://opapp.io). Would love to know what you think. The | code editor is more like a built in code notebook. | nologic01 wrote: | I wish Libreoffice would have smelled the coffee long time ago. | In principle scripting using Python is possible but exceedingly | cumbersome/ugly and there seems to be no roadmap to improve on | this. | | The same warning applies to the linux desktop and all its apps | more generally. Increasingly proprietary platforms will be | rolling out advanced "AI" functionality extensions to classic | apps that are cloud based, many of them via a Python API. | | Its a pity that the various strands of the open source universe | are so siloed. The potential of the sum being more than the parts | is squandered. | hospitalJail wrote: | LibreOffice has plenty of other problems to knock out first. | | Its so slow. | buovjaga wrote: | Check out ScriptForge: https://help.libreoffice.org/latest/en- | US/text/sbasic/shared... | | APSO script organiser is recommended for running scripts from | inside LibreOffice: | https://extensions.libreoffice.org/en/extensions/show/apso-a... | tzs wrote: | I think in a lot of cases its not even the advanced stuff that | keeps people on Excel and other proprietary things. It's the | seemingly little things. | | My biggest beef with LibreOffice's spreadsheet (and with | Apple's Numbers) is how they handle copy/paste of discontiguous | selections. | | Consider this 5 row by 3 column set of data: 1 | 2 3 4 5 6 7 8 9 a b c d e f | | Suppose you select the 1 2 3 row, the 7 8 9 row, and the a b c | row, copy them, and paste just below the d e f row. In Excel | you get this (first 4 rows omitted for brevity): | d e f 1 2 3 7 8 9 a b c | | In LibreOffice and Numbers you get this (empty cells denoted by | "-"): d e f 1 2 3 - - - 7 8 9 | a b c | | I haven't found a setting to change this. Excel doesn't have a | setting for this either as far as I know, so people who do want | discontiguous copy/paste to preserve spacing would probably be | as irked by Excel as I am by LibreOffice and Numbers. But I | don't think I've ever actually wanted the spacing preserved so | it is LibreOffice and Numbers that irk me. | buovjaga wrote: | I get the same result in LibreOffice 7.5.5 as your Excel | example. Which LibreOffice version did you use? | tzs wrote: | 7.5.5.2 on MacOS. | mkl wrote: | To me Excel's behaviour is way more problematic here. I | carefully select the data I want, and it silently includes | irrelevant data as well. I don't want the spacing preserved, | but I _really_ don 't want other random data included. | tzs wrote: | It doesn't include other random data. You select N rows, | contiguous or discontiguous, and those are copied to N | consecutive rows starting at the paste point. | stainablesteel wrote: | that's interesting, i see the opposite. | | python is so easy to script that imo excel is nailing its own | coffin. with an aging and retiring demographic of people that | have never used a programming language, anyone who learns to | incorporate python into excel will end up preferring python | because its both more flexible and scalable. | | i have no reason to use excel except for basic drawing board | math, if someone demands a spreadsheet out me i automate its | generation in python so i never have to deal with it again | ARandumGuy wrote: | This comment seems out of touch with why people use Excel. | The fact is, Excel is popular because it manages to be pretty | easy to use, while also being extraordinarily powerful and | flexible. For most users, they'll ask "why would I program | something in Python when Excel has a built in function to | handle that?" | chasd00 wrote: | > i have no reason to use excel except for basic drawing | board math | | I think you underestimate the amount of work, globally, done | in Excel. If Excel vanished it would be a business/economic | extinction level event, It's not going anywhere. | nologic01 wrote: | I see spreedsheets more as an UI. An extremely intuitive (and | reactive!) way of spatially decomposing computation. Yes, | this creates lots of problems (you can not easily validate it | etc.) but it is also very enabling. For sure more people are | now exposed to programming, but how many are actually | comfortable doing even simple stuff directly using code is a | question mark. | | A jupyter notebook is maybe somewhere in between. But even if | other interfaces manage to bridge the gap further, I doubt | the spreadsheet metaphor is going to go away in the visible | future. Pivot tables and the like are like COBOL and | mainframes :-) The corporate world would die a sudden death | if you were to eliminate it (another reason to always make | sure you can run things locally). | pessimizer wrote: | Not a chance. There's nothing scary about VBA (except its | inflexibility and lack of a lot of modern features), and | people aren't learning that either. Of course, the last | decade of vaguely threatening to remove it from Office | completely (in favor of js and now python?) hasn't helped | people think VBA would be a good investment of their time to | learn. A required internet connection and having Python only | work on Windows doesn't make it look like much better of an | investment. | | Also, imo, Python and whatever random environments and | libraries that you'll have to use with it to get your work | done, will be in almost every way worse than just using VBA. | And if you use VBA, your work will be effortlessly portable. | The only problem I have with it is that I have to come up | with ways to get the code out of the embedded IDE into source | control, but there are scripts that help. | | > i have no reason to use excel except for basic drawing | board math, if someone demands a spreadsheet out me i | automate its generation in python so i never have to deal | with it again | | I, on the other hand, do it in VBA, and expose every | important calculation within clearly labeled spreadsheets so | programming-illiterate people can audit them and feel | confident about the output. | Sakos wrote: | > with an aging and retiring demographic of people that have | never used a programming language | | This simply isn't true in any way and is completely divorced | from modern businesses. Everybody I know who works in an | office setting works with Excel. None of them know Python and | none of them have touched a programming language. Almost all | of them are younger than 30. And if anybody who's 20 starts | at one of these companies, they'd better know Excel because | that's what the business is built on. Not like that 20 year | old is gonna know anything about programming either. 99% of | people just aren't programmers and aren't going to learn | programming when they just want to futz around with some | numbers and the easiest (yet also the most powerful) tool | they know for it is a spreadsheet. | | If somebody in any business, anywhere, at any point wants to | do something with numbers, they're going to use Excel. | xorcist wrote: | Umm... Libreoffice has shipped with Python scripting since | almost forever. | | Not many people care because the most popular use case of any | office suite is to interoperate with Microsoft file formats. | jimmychoozyx wrote: | DIY: | | -> excel cell: rest api call | | -> send request to your own python web app: run python function. | send back the output. | CodeCompost wrote: | Wait, didn't they already do this? I'm pretty sure I downloaded | an official add-on for this a few years ago. | nailer wrote: | There was a YC company that did it, maybe a decade ago. I bet | someone will remember. | ayhanfuat wrote: | DataNitro! I knew very little about programming and was | trying to create examination schedules for the faculty I was | working at. I managed to convince the dean to buy a license | and it pretty much changed my life (granted it was mostly | Python that changed it but DataNitro made it even more | accessible it to me back then). | fzumstein wrote: | DataNitro was my inspiration for the Open Source version of | xlwings back in 2014. They have been out of business for | many years though. | tecleandor wrote: | AFAIK, as a third party add-on: | | https://www.pyxll.com/docs/introduction.html | narcraft wrote: | Bold prediction: this will have a greater economic impact than | LLMs over the next 10 years. | qwertox wrote: | I'd say they are doing this because of LLMs, so that normal | users can tell Excel what it should be doing, and it then | generates a script which can execute it. | siva7 wrote: | Soon Python will rule it all as the most widely adopted language | pritambaral wrote: | Until Excel can run Python locally, I doubt it. | al_be_back wrote: | very smart move! | | clearly aimed at big business/enterprise customers, python's | ecosystem of scientific & statistical libraries is massive | | not so long ago they introduced Office Scripts and Power | Automate, in essence coding macros in TypeScript (rather than | VBA), again only for business/enterprise license users though. | gpjt wrote: | Back in 2005, some friends and I started a company called | Resolver Systems to build a Python-enabled spreadsheet, which we | called Resolver One. Sadly, it never took off in the marketplace, | and we had to pivot; we would up creating PythonAnywhere, an | online coding and hosting environment, which worked out pretty | well and was acquired by Anaconda last year. And now, the circle | is closed :-) | | (Just for clarity: the team working on this inside Anaconda is | entirely separate from the PythonAnywhere team. It would have | made a perfect Hollywood-ready story if it had been the same | people...) | vegabook wrote: | It was a great product - I remember your pitch and indeed we | met a few times at the London python for finance meetup | (remember the "Enthought Python Distribution"?). The only issue | is that Resolver was IronPython-based so there were a bunch of | libs that kinda didn't work. | JNRowe wrote: | I have to second that, it _seemed_ to be a great tool. I 've | often wondered why it couldn't get traction1. I can recall | people gushing about it at what may have been the same Python | meetup in London, and also people being impressed enough by | it at a Haskell meetup that they were lamenting an imagined | lost opportunity to shove a "real language" in to a | spreadsheet ;) | | I'd always kind of assumed that the target audience would | have appreciated the IronPython use, as the .net ecosystem | would likely have been more valuable to them. Having just | looked I see that numpy wasn't available on IronPython until | 2010, and I'm sure that would have been useful to have a | little earlier. | | 1 Pretty sure I've referenced it here a few times too. | mritchie712 wrote: | I built my first app on PythonAnywhere! I've had stuff running | on there for almost a decade now. I loved being able to make | small tweaks to the app directly in the PythonAnywhere web app. | Such a great product. Really missed stuff like that when I | started using GCP/AWS. | gpjt wrote: | That's awesome, glad you like it :-D | rich_sasha wrote: | PythonAnywhere is awesome :) like the other commenter it was my | first foray into web programming too! | Bostonian wrote: | I am the sole Python developer in a company where everyone uses | spreadsheets. With this project, will my coworkers be able to run | my Python functions? Or only functions that are built into Python | and packages like pandas and NumPy? | amccarty wrote: | If your coworker doesn't have the feature enabled, they will | see the last cached values. If they try to run them without the | feature enabled, they will get an error. | xcombelle wrote: | It is very likely that your coworkers will be able to use your | Python functions. | snickerbockers wrote: | So what happens when you're trying to work on your laptop and you | don't have a reliable Internet connection? | ianmcook wrote: | Anyone know what format they are serializing the data in to move | it between Excel and Python? Are they using Apache Arrow? | fzumstein wrote: | xlwings creator and author of the O'Reilly book "Python for | Excel" here! First of all, big congrats to the team! I've been in | contact with the Excel team on and off over the years and I | remember when an Excel project manager once described the task of | adding Python to Excel as "turning a fully loaded ship". Well, I | am happy that the ship has now turned and is ready to ship into | more exciting waters! There are a few question marks I have given | my decade long experience with the topic (although everything is | still beta, so it will certainly change/improve on its way to | GA): | | (1) I have hardly seen any company that can do with an off-the- | shelf Anaconda distro. Companies usually have an internal Python | package that they will need to access. (2) When running Python on | the backend, the first question is always "how can we | authenticate the user"? Office.js is currently the only platform | I know of that allows you to leverage Azure AD identities via SSO | or use any other provider (as you have complete freedom to use | any JS library/redirect the user to a login form). (3) IT | policies: Usually, companies have made their cloud decision: | "We're an AWS/GCP/Azure shop, so Python has to run on precisely | AWS Lambda/GCP Cloud Run, etc." Yes, many are on Azure, but even | in Azure they may have preference of let's say Azure Container | Apps or AKS instead of Azure functions. (4) The other thing that | businesses are obsessed about is to securely protect their source | code, again, not something that Python in Excel seems to support. | (5) And finally, what I see users most excited about in the | context of xlwings is being able to run standard User-defined | functions (aka "Custom functions) on the server (like the ones we | wrote in the good old VBA times or like the new Lambda | functions), not sure if that's possible or on the roadmap for the | official version. | | With the modern xlwings Server, I have taken a different | approach: Let users build a 100% standard Python web app using | their favorite framework (Django, Flask, FastAPI, ...) including | all the standard tools (logging, auth, etc.) while using Excel as | the frontend. Users have complete freedom in choosing their tech | stack, they can version-control the source code on GitHub, use | GitHub actions to run unit tests and deploy the code | automatically to their favorite cloud, etc. | | So I am probably targeting more professional developers than data | scientists, but in my experience, it's often a professional | developer who write the Excel add-in that is then deployed to | business users/data scientists. | eggy wrote: | I am using Accelerate for MS 365, which brings Visual Scheme for | Applications (VSATM) to the MS 365 suite [1]. It can be used in | the other MS 365 apps as well and ties in nicely to .NET. That | and I unashamedly love Lisp over python even though I know python | has the data science corner. I was very disappointed when MIT | replaced Scheme with Python as their CS intro language, but such | is life. For kicks, I am a big APL fan and found April (Array | Programming Re-Imagined in Lisp) which has APL and Lisp united | into a super PL! [2]. Maybe an APL for Excel? | | [1] https://code-magazine.com/Article/2207071/The-Excellent- | Sche... | | [2] https://github.com/phantomics/april | tycho-newman wrote: | What's wrong with openpyxl? | | Heck the .xslx file format is fancy XML. | jollyllama wrote: | This is a nightmare. Python devs are going to be asked to support | the half-baked python macros of business users. | tinyspacewizard wrote: | Excel single-handedly keeps VB alive; it has a huge amount of | sway over what langauges people use and learn - so why settle for | Python? | hyperpl wrote: | My main dependence on Excel is being able to interact with pivot | tables. I also have some VBA macros to help with formatting which | I would welcome to be in python - alas it looks like what they're | bringing is for the cloud only? | | I haven't found any free, open source solutions around this | including any for Jupyter notebooks (my preferred medium). | xcombelle wrote: | python pandas has pivot tables | https://pandas.pydata.org/docs/reference/api/pandas.pivot_ta... | | I don't know if it fits your needs | debitcredit wrote: | If you're interested in something like this with a bigger code | notebook-style code editor + AI code generation, we're working on | it at op (https://opapp.io). | hiccuphippo wrote: | It seems it took 6 years from "consideration" to an actual | release: https://news.ycombinator.com/item?id=15927132 | garyclarke27 wrote: | Why does Excel need to run Python calculations in the Cloud? | | I think I'll stick to VBA. | | Javascript in Excel would be nice. | | Even better would be native SQL. | pipo234 wrote: | Maybe this is not so much about bringing Python to Excel, more | about bringing Excel to Python. But only if you do it the way | Microsoft wants you to. | | As with BASIC morphing into VisualBasic and VBA you lure | (beginning) python programmers into Excel. Ultimately those | developers will understand and appreciate less and less of | vanilla python REPL, jupyter, scripts, etc. And... Welcome to | Microsoft's world. | Qem wrote: | A Microsoft classic: https://en.m.wikipedia.org/wiki/Embrace, | _extend,_and_extingu... | DwnVoteHoneyPot wrote: | Excel has javascript... Google "Officescript in Excel". | | Also, https://learn.microsoft.com/en- | us/office/dev/scripts/resourc... | giaour wrote: | > Javascript in Excel would be nice. | | JS has been one of the supported add-in languages for a | while[0], but that's not quite the same thing as the new python | offering (which sounds more like jupyter within excel). | | Since excel is often (mostly?) used for working with financial | calculations, I for one am glad they went with python for this | feature instead of a language that insists that an IEEE 754 | double is the only kind of number anybody actually needs | extraduder_ire wrote: | JS has BigInt now, and it almost works like you'd expect. | Need to put 'n' after all of your numbers though. | giaour wrote: | True, but financial calculations tend to involve non- | integral numbers. Python has arbitrary-precision decimals | via: https://docs.python.org/3.11/library/decimal.html | WorldMaker wrote: | Financial calculations are also sometimes already used to | doing math in integral pennies (or eighths of a penny) | for performance/storage reasons. That works just fine | with one BigInt. Or you can build arbitrary-precision | rationals from just two BigInts. (There are some JS | libraries out there already for that.) | giaour wrote: | "You can build arbitrary-precision rationals" is a far | cry from saying, "this is a language designed for | precision arithmetic." You can technically build | arbitrary-precision rationals without BigInts using | arrays, but it's not exactly ergonomic. | | Even if we stipulate that users will be cognizant of | floating point limitations and convert everything to | integers, JS still requires all literals to be suffixed | with _n_ to avoid silently losing precision when integral | values exceed 2*52. | WorldMaker wrote: | Many languages that are considered "precision" languages | have some form of suffix to denote large/long/arbitrary- | sized literals. (C# there's a big useful difference if a | literal ends with `m` or `l`.) Most languages you have to | be aware of your data types and use the appropriate data | types. | | No one is saying that "JS is a language _designed_ for | precision arithmetic ", everyone is saying "JS is a | language with the tools today to do precision arithmetic | (whether you like it or not)". | giaour wrote: | > Many languages that are considered "precision" | languages have some form of suffix to denote | large/long/arbitrary-sized literals. (C# there's a big | useful difference if a literal ends with `m` or `l`.) | | The failure mode is significantly different when | comparing JS to other mainstream languages. Most | languages have a "checked" mode (either opt-in or | mandatory) so that expressions like `4611686018427387904 | + 4611686018427387904` can raise an error, whereas JS | will just give you the wrong answer. Python is the most | ergonomic for beginners or non-developers because the | runtime will convert an integral type to an arbitrary | precision integer on overflow. | | Yes, there are alternative primitives that can be used, | but you need to know they exist. We're talking about a | tool that is explicitly designed for people who are not | professional programmers, and JS's behavior here is | surprising unless you understand the underlying data | model. I would personally much rather give beginners a | tool incorporating as few footguns as possible. | | > JS is a language with the tools today to do precision | arithmetic (whether you like it or not) | | Arbitrary precision arithmetic has been possible in JS | since the language was invented, but it has always been a | pain. The bignum NPM package[0] predates the BigInt | numeric primitive by 9 years. The addition of `BigInt` to | ES2020 was important for _performance_ (since | implementing an arithmetic primitive in JS makes | calculations dog slow), but it didn 't add any | fundamental affordances to the language. | | [0]: https://github.com/justmoon/node-bignum | pasc1878 wrote: | SQL is easy to use from Excel what more integration do you | want. | nxobject wrote: | I look forward to seeing this get abused. Having worked with a | psychometric analysis program entirely implemented in VBA, I | genuinely wonder how Excel/Python will live alongside R in | academia - at least for the people who are really conservative | about the tools they use. | dsagal wrote: | Grist is a spreadsheet with Python support (I am a founder). | Python does make some formulas far easier. Nice to see Excel has | data science libraries included from the start, that's something | we've had our eyes on for a while. On the other hand, Grist is | open source and can be run locally. | enthus1ast wrote: | Since a few month i use grist extensively. | | For example: As part of a monitoring system. HR / crm Database. | Self serving vacation planner and approving system. Tamperproof | GMO(genetically modified organisms) database. As my go to | source as a quick and dirty data dump while hacking... | | Grist is a great tool! | ikrenji wrote: | does it make you nervous to basically have microsoft as your | primary competition now? :) | dsagal wrote: | It's a spreadsheet, Excel was always our primary competition! | :) The more Excel follows us, the better for everyone. Python | is a start, but they have a way to go. Imagine proper | relational data, self-hosting for cloud Excel, open-source, | access rules.... | IshanMi wrote: | A lot of people are taught Excel early on in school. I wonder if | this would result in more people learning or being introduced to | Python at an early age? | pessimizer wrote: | People aren't taught VBA in school, as far as I know, and that | was already there. | cableshaft wrote: | I wish it wasn't solely powered only by Microsoft Cloud and could | support python running locally, but regardless I think this will | still be huge and single-handedly modernizes Excel by a large | margin. | | This alone could eliminate the need for websites that just want | this sort of data. I can think of a past project at a previous | job I did building an analytics website used only by a handful of | people internally that could have been just as well served with | something like this, had it existed at the time. | cpuguy83 wrote: | Adding python support for local use would be a great way for me | never to open an excel file ever again. That is so dangerous. | | Wasm maybe, full-blown runtime without any sandboxing? Nope. | pessimizer wrote: | What's the difference between Python and VBA in that respect? | Do you open Excel files now? Pretty sure that wild Office | macros were once one of the main sources for computer herpes. | cpuguy83 wrote: | There is no difference except decades making vba in excel | less horrible. | siva7 wrote: | Being powered in the Cloud they can protect you from malicious | code | localhost wrote: | There are few key reasons for running in a hypervisor isolated | container on Azure with no access to the Internet: | | - We can guarantee a consistent experience for all users. | Imagine having to maintain your own local distribution of | Python and guaranteeing that it works with Excel as versions | diverge over time? Yikes. | | - We make it possible to share your Excel workbook with other | users and have the calculation just work. That wouldn't work | with random local installs of Python and users would be super | frustrated by this. | | - Security. Imagine opening an Excel workbook that can execute | Python code running locally as _you_. | | Also, I totally agree with your second point. Trying to write | an internal app in Python that integrates with all of your | existing IT infrastructure is an exercise in frustration at | best. Excel is already part of the IT infrastructure virtually | everywhere and is a programmable reactive canvas. | | Disclosure: I work on the design team for the feature. | ylk wrote: | Could you not achieve the same by shipping the required tools | with Excel and running them inside a Windows Sandbox? | Isolation isn't as good, but it probably protects users | against the threats you/they care about? | laurels-marts wrote: | I think this could be just a toggle in settings: | | A. run python in the cloud (default) | | B. specify path to your local python interpreter | | When you open a workbook that is using B show a warning | before running anything. Then behind the scenes spin up a new | venv that installs everything from requirements.txt and | executes the code in workbook locally. | snickerbockers wrote: | I agree with point 3, but points one and two don't make any | sense because games have been skipping with Python scripting | for decades and this is never a problem. The python | interpreter is embedded into your program as a library and it | doesn't have any dependency on the whatever python version | the user installed. | localhost wrote: | > games have been skipping with Python scripting for | decades | | That only works if there is a forever fixed version of | Python embedded in your game. The value of Python in this | context is its ecosystem and folks will need to install | additional packages and libraries into the execution | environment. Now you're managing a local distribution of | Python. | SiempreViernes wrote: | Yeah, but if the big value is supposed to be in the | libraries you sort of have to accept dependency hell? | Otherwise you're in the world where a small set of | libraries can deliver all the functionality ever needed. | | Of the currently available solutions, "cloud environment | made by Microsoft" doesn't sound that different from | "software update made by Microsoft" in terms of how it | solves the dependency hell: basically, the critical | library you need is either in or out, but there is | nothing you can do about it. | | Admittedly, here I'm assuming Microsoft won't let you | install things into the environment yourself since that | basically means hosting virtual machines running | arbitrary code and putting the Excel brand in front. | localhost wrote: | Dependency hell may be an issue if you install arbitrary | libraries into the container at runtime. Note that this | feature isn't currently available in the preview. | | On versioning: we freeze the container image that your | Workbook was authored against. You need to manually | accept (and validate things continue to work) updates to | that container image as we roll forward. | darkarmani wrote: | It's the dependency hell problem as packages are added to | the sandbox environment. If they were just shipping python | (standard library), it would be fine, but all of the useful | libraries have large numbers of dependencies. | datavirtue wrote: | Another half-baked Microsoft cloud thing. Get wrapped around | that axle? No thanks. | tsujamin wrote: | As a red teamer, I also wish it supported running python | locally :) | layer8 wrote: | It sort of makes sense to limit it to the cloud, because making | Python an integral part of the Excel file format would reduce | its portability and introduce all sorts of compatibility | headaches going forward. | giaour wrote: | Whether it runs in the cloud or locally, the included python | source will be written for a specific runtime version and | environment. If excel were to run python locally, it would | presumably bundle an interpreter (+ any needed pip packages) | rather than relying on whatever was installed locally. | | The cloud execution model does still have an advantage in | that it can retain old runtimes in perpetuity for backwards | compatibility, though | pseudalopex wrote: | Making software available for download perpetually is less | complex than making software available for cloud execution | perpetually. | giaour wrote: | Under the model you're proposing, would I potentially | need to download an old copy of Excel because the sheet | I'm trying to load relies on an older python runtime? | depereo wrote: | Isn't that already an issue? I've definitely needed | specific versions of excel to open particular workbooks | before. | felixgallo wrote: | Excel already has versioned file formats with significantly | different affordances, and hasn't appeared to have all sorts | of compatibility headaches as a result. | layer8 wrote: | Integrating a whole separate language ecosystem is one or | two orders of magnitude more complex though. It's more like | HTML5/WHATWG suddenly adding Python as a first-class | scripting language besides JavaScript, and web browsers | having to integrate that. | bafe wrote: | Isn't this what people are trying to do with pyscript? | Although in that case it uses WASM? | layer8 wrote: | It's different because WASM is much more strictly defined | and has a more limited scope than Python. Thanks to WASM, | browsers don't have be able to understand | Python/PyScript. The trade-off is that you can't, for | example, view/edit the Python code in the browser's | devtools. | | A WASM-like approach wouldn't work very well for Excel, | because you're supposed to be able to edit the source | code/formulas within the Excel application. | nonethewiser wrote: | > It sort of makes sense to limit it to the cloud, because | making Python an integral part of the Excel file format | | Moving it from the cloud to local doesn't make it an integral | part of the Excel file format. Whatever python service is | running in the cloud could just run locally. | baz00 wrote: | If you've ever dealt with AWS Lambda you will know what a | versioning and upgrading shit show this is going to be | wherever you stick it, be that client or cloud. | | I worked on a very early python integration used as a | workflow DSL back in 1998 and they had to dump it and write | their own DSL in the end. | Aardwolf wrote: | > This alone could eliminate the need for websites that just | want this sort of data. | | But Microsoft Cloud is a website! | inglor wrote: | Hi I work on Excel, can you write a summary of why that's | important to you and send it to bgruenbaum@microsoft.com ? I'll | get it in front of a PM. | | Alternatively PMs read all the feedback sent via the feedback | UI on Excel web and desktop so you can use that instead if you | prefer. | ooterness wrote: | Ever used Excel inside a SCIF? There's a lot of important | work that happens on computers that aren't connected to the | Internet. | gte525u wrote: | ITAR and other regulatory issues - being the primary. Not all | users are on Office 365 GCC High. | [deleted] | cameronh90 wrote: | We use Excel for a bunch of "critical" tasks as defined by | the financial regulator, which means any of their | dependencies also have to be assessed to ensure they meet the | required level of stability. | | What this means is we'd need to go from just requiring a | laptop and a copy of the spreadsheet to requiring redundant | internet connections and validating Microsoft's backend meet | the regulator's requirements. I'm pretty sure that would | unfortunately rule out using it. | orf wrote: | Having seen the quality of "critical" macros, excel | spreadsheets, and "dev/prod" SMB drives anyone can mess | with it's absolutely clear no regulator gives a fuck. | sixothree wrote: | Can you just please fix the issue with date strings (such as | "20230822090811") being converted into scientific notation? | I've received literally hundreds of these documents over the | past decade. And as long as this problem exists, I will keep | receiving them. | | Can you please just add a button - "unmess this document"? | The number of man-hours I've wasted re-creating documents is | countless. My job is to do other things not fix excel | documents. | datavirtue wrote: | All the crusty broken shit in Excel have become features | over the last thirty years. | bombcar wrote: | You may want to try a CSV editor: https://www.moderncsv.com | - it's helped me already. | rjmunro wrote: | Excel makes a total mess of many kinds of imports, assuming | they are dates when they are not or assuming US vs UK | formats dates etc. | https://www.theverge.com/2020/8/6/21355674/human-genes- | renam... | | However, to my eyes, and probably most people, | 20230822090811 does not look like a "date string", it's a | number. It's correct to display it as scientific notation | if it's too many digits to fit into the width of a cell. | Please let's not encourage them to interpret more things as | dates and randomly break people's workflows. | | Excel should preserve all the digits you enter in the cell | even if it doesn't display them, though. That has nothing | to do with dates. It's a problem with things like product | numbers or keys that can end up with many digits. | wredue wrote: | Are you saying that excel does preserve digits? I must be | doing something very wrong (entirely possible), cause | once the document is saved, the digits are gone. | calfuris wrote: | That reads as a normative "should" to me. It doesn't | preserve digits, but it ought to. | twobitshifter wrote: | The way you fix this is using the text import tool or | better yet power query and specifying the column type to be | text. With power query you can repeat this for as many | files as you need to import. | dragonwriter wrote: | If he's recieving excel files with this issue from other | people, the text import tool isn't a solution and Power | Query is a bit circuitous to solve what can be addressed | by formatting the range with this kind of data. | mthoms wrote: | Optimist: The glass is half full. | | Pessimist: The glass is half empty. | | Excel: The glass is January 2nd. | john-radio wrote: | The scientific notation ("2.02308E+13") is just how Excel | displays a large enough numeric value like your example; | it's not doing any conversion, as you can see if you paste | that number into Excel, confirm that it's showing the | scientific notation, and then click into the cell to | confirm that the formula bar still shows the original | number (20230822090811). | | If you paste your date string in a more standard date | format like 2023-08-220 9:08:11, then Excel will correctly | infer that it is a date. However, you seem to be saying | that Excel should handle ANY numerical strings that way if | they are long enough to express a date or datetime, which, | while it might make your particular workflow easier (or it | might not), it would really mess with people's ability to | use Excel with large numerical values... | sixothree wrote: | Do you _really_ think I've spent the past 10 years | getting files like this and I still don't understand the | reason. I didn't ask for an explanation. I asked for a | fix. What are you doing here?? | | I can provide instructions on how to do this until the | cows come home. I will still get files with these issues. | Is that not obvious? | | Do you really think I want to examine _tens of thousands | of rows_ in documents that are 100 cells wide looking for | a single exponent value!?!?!?! Is that really what you're | suggesting as a fix here? | dragonwriter wrote: | > Do you _really_ think I've spent the past 10 years | getting files like this and I still don't understand the | reason. I didn't ask for an explanation. I asked for a | fix. | | I don't believe you've been doing it that long and | haven't found the fix. | | Apply appropriate formatting if you have long strings of | numeric digits [as long as they can't have leading | zeroes] that you want stored as numbers but displayed | without scientific notation. (Not the best choice for | what is semantically a date, in your case, but...that's a | whole bigger issue and, well, babysteps.) You don't have | to look at anything, just do it for the ranges where that | is the kind of data: | | https://help.godatafeed.com/hc/en- | us/articles/360049916591-H... | [deleted] | mulmen wrote: | The text import wizard does work. The problem with it is | that everyone has to use it and if anyone doesn't then | your data is silently mangled. | | In the past I have added an apostrophe to the front of | any integer that should be displayed as a string. Excel | will not display that leading single apostrophe. It of | course taints that data forever but I consider "Exported | to Excel" a terminal state anyway. | DandyDev wrote: | My my, why so angry? You're expecting something that | Excel doesn't support for good reason. The string you | used as an example might be a date string to YOU, but to | Excel and many of its users it's just a large integer. | Lots of regular use cases would break if Excel would | interpret that string as a datwle | | If you want Excel to interpret strings as dates, use a | more common date representation such as iso8601 | CyberDildonics wrote: | _My my, why so angry?_ | | Because they have been dealing with the same bug for 10 | years, I thought that was obvious. | mulmen wrote: | It's one of the most infuriating and dangerous behaviors | I have ever encountered. Excel _silently truncates data_. | The anger is warranted. The problem isn't assuming a | display format for data, it is that a poor assumption | actually _mangles_ data. Excel doesn't fail safe. | | Numbers in Excel only maintain 15 digits of precision. | Leading zeros are also _truncated_. If you haven't | experienced this you are lucky (or just didn't notice) | but it is real. | | > If you want Excel to interpret strings as dates, use a | more common date representation such as iso8601 | | You don't always control the upstream system. Your | response can be considered rude because it implies you | think you know more than the person expressing pain. This | is especially insulting with such a widely known problem | in Excel. | | This behavior burned me with billing system IDs. | Logically they are strings, we would never do math on | them. For performance they were implemented as BIGINTs in | the DB. Excel truncates everything after the 15th digit. | Our IDs were all over 20. So accounting couldn't | reconcile our reports with the billing system. | dragonwriter wrote: | > It's one of the most infuriating and dangerous | behaviors I have ever encountered. Excel silently | truncates data. | | That's a problem, sure, but not the one sixothree is | complaining about. | | > The problem isn't assuming a display format for data | | Your problem might not be, but that's exactly the problem | sixothree is complaining about that the post you are | responding to addresses, so while your post references a | valid complaint, it is a complete non-sequitur as a | response. | [deleted] | [deleted] | [deleted] | mulmen wrote: | Excel only maintains 15 digits of precision for numbers. | Everything else gets _truncated_. This truncation is done | at import so it is unrecoverable. | | This burned me frequently when I was generating tax audit | reports for accounting. The billing system IDs were all | BIGINTs but had over 20 digits. | ooterness wrote: | Except Excel doesn't recognize ISO timestamps either. | mulmen wrote: | Are you sure? It seems to for me, which is annoying | because by recognizing them it changes them to a | localized date format which then breaks when sent | overseas. | | If I type "2023-08-22" into a cell in Excel I see | "8/22/23" in the cell and "8/22/2023" as the value. | cableshaft wrote: | I think it's similar to the current generative A.I. trend. | | The companies I work for while consulting (mainly financial | and health organizations) have been very cautious about any | company or PII data going to these A.I. programs, and the | cloud in general, and are looking to make their own local run | generative A.I. LLMs for their employees to use. | | By it's very nature these Excel documents will be filled with | company data, so I can imagine these companies would also be | a bit cautious sending those calculations to the cloud, | especially if they can't control the flow of data from their | I.T. departments via web applications. | | But I'm just a software engineer at the end of the day, and | don't professionally use Excel all that much right now (if | anything I use it much more for my hobby of board game | design). So I can't speak with too much authority on the | matter. Just my observations. | fzumstein wrote: | > By it's very nature these Excel documents will be filled | with company data, so I can imagine these companies would | also be a bit cautious sending those calculations to the | cloud, especially if they can't control the flow of data | from their I.T. departments via web applications. | | This is exactly what I see when talking to users about | xlwings: it needs to run on their end, behind their | firewall, in exactly the cloud they have picked (AWS, GCP, | Azure). | chasd00 wrote: | I do a lot of work with US state governments, it's the | same story mostly. It's possible to get the approvals | required for data to be shipped off to some "cloud" but | it has to be FedRAMP certified and no data can move | outside the contiguous 48 states. | bluedino wrote: | >> Hi I work on Excel, can you write a summary of why that's | important to you and send it to | | How out of touch with the real world is the Excel team? | zadjii wrote: | Customer verbatims are like, an incredibly valuable | currency. It's all fine to say "I know the product in and | out and I think this is important". But it's another thing | entirely to say "I know this is important because _this | customer right here asked for literally this_". | bluedino wrote: | But how do they not realize that not everyone wants to | have the cloud required for a feature in Excel? | graypegg wrote: | A hacker news comment chain isn't a great place to follow | up on feedback. Email's alright! I don't think that's too | out of touch. | rvba wrote: | Will Excel fix linkages between files on sharepoint? | | It is horrible.. | | The amount of lost productivity because "report file" | cannot easily connect to "source 1, 2, 3" is very high. | | In theory you can do it, but it plain does not work in | shared sheets. | mulmen wrote: | You have an opportunity to expand their perspective and | this is the best response you can come up with? | sneak wrote: | It won't work offline, for one. I use Office exclusively | without internet as otherwise who knows what private stuff | it's sending back to Microsoft, which then becomes eligible | for warrantless surveillance by the federal police. | | I know it's old fashioned to want local software to only | change things on my local file system, but if I didn't want | that paradigm, I'd just use Google Docs. | LispSporks22 wrote: | I eventually gave up on it because of the locals vs cloud | differences. The documentation for the whole thing was | terrible as well. I think they're in transition (assuming | cloud only). In my case, I just went and used Calc from | LibreOffice. | nmstoker wrote: | Yes, this is important where you're online but not on a | high throughput connection or any part of the connection | has intermittent faults. | | The disruption from even a few outages is enough to prefer | to run things locally. We had issues with people unable to | sign into Excel and everyone went mad (rightly so, as Excel | was running locally not 365 but it blocked usage) | | And on top of that, there are scenarios where you'd want to | process substantial amounts of data that would be | prohibitive to upload, process and return the results, | where locally handling it would take way less time. | easton wrote: | I can put this in an email if you want, but one good reason | would be that my laptop is probably faster than the cloud | compute that they are willing to give away to 365 | subscribers. I can do much more inefficient things in a | single cell if I know my laptop can pick up the slack :) | | (Although, I'm guessing the reason they did it this way is so | they could keep the execution model the same for Excel on the | web? It's always running on the external service vs sometimes | running locally and sometimes running externally.) | nerdponx wrote: | Part of the reason I still like Excel over Google Sheets is | that I can use it completely offline. | graypegg wrote: | Is there any technical reason excel couldn't ship with | Python? The license allows it [1] and it would probably solve | the issue of all users being able to open any document like | the cloud solution, but still run locally. | | [1] https://wiki.python.org/moin/PythonSoftwareFoundationLice | nse... | UweSchmidt wrote: | The Cloud, and therefore the integration of as much as | possible in it, is core Microsoft strategy. | | It's about the recurring payments, the lock-in, and | ultimately literally having the knowledge and business | processes of the world economy on their own computers. If | this is true, the reason why it is important to run data and | scripts locally should be clear, and so is the motivation of | your PMs to actively combat any such things. | | But if you get a summary in your inbox and show it to your | PMs let us know how that goes down. | GabeIsko wrote: | Yeah, but they also make money on the office subscriptions. | So you also want current working data scientists who would | not touch excel to give it a chance because they can use | their existing python back-end. Eventually, there would be | a service that is Microsoft exclusive, but they have to | compete on services. | | Idk, it's really up to Microsoft's business units. Office | could be the loss leader to get cloud business, but it | could be the other way too. Either way, I would hazard that | they want people to actually use this integration feature. | TheOtherHobbes wrote: | It all sounds a little too "Software services as a | software service." | | Python -> Excel sounds great. | | Cloud Python -> Cloud Excel sounds too much like a | privacy and security disaster waiting to happen. | alexk307 wrote: | Not OP but I would never want to use this if I was running a | security minded business. Why would it be okay to send out my | entire dataset to the Microsoft cloud to run a few simple | queries. How long is the data stored on your servers? Since | it's operating on the data directly, it's not possible to | anonymize or redact the contents of the data. | benterix wrote: | Practically speaking, if you are running recent versions of | Windows (I don't remember when exactly this trend started, | with 2000? XP?), you have basically no control over what | data you send to them and when. You can try to block | traffic but it will interfere with normal Windows | operations. You can try to investigate and play cat and | mouse game with Microsoft, but they will always be one step | ahead of you - unless you decide to turn off automatic | updates and make your system less secure. | yunohn wrote: | That is some tinfoil concoction, not reality. | | There's a world of difference between having a file | stored locally in Windows and one purposefully uploaded | to Office 365 for data analysis. | alexk307 wrote: | I'd wager that most of that data is anonymized and | redacted usage and error stats. Big difference between | that and entire data sets | boppo1 wrote: | What if I'm running windows in a VM in Ubuntu and only | feeding it exactly the relevant stuff? | benterix wrote: | It makes little difference if it's a VM or bare metal - | what matters is network connectivity. If it's on, you | lose control over the data leaving your computer. In | Linux, BSD and others, you can control it in a very | precise way. | lolinder wrote: | You still have no control over the data you place into | the Windows VM, which would include the data in the Excel | sheet. | cmcconomy wrote: | does he have control over whether he transmits any data | he places in the mysterious windows VM? | taylodl wrote: | > This alone could eliminate the need for websites that just | want this sort of data | | I catch flak for this all the time! Our users just want to be | able to use Excel to free-form analyze their data. IT, of which | I'm a part of, insists on building web apps to do that for | them. They're _never_ happy because all they wanted was Excel. | | I keep explaining all we have to do is build a data mart built | using SQL Server, and use our ETL tools to keep it populated | with the data they need to analyze. Don't let them anywhere | near the source data. They keep looking at me like I have ten | heads. Instead they want to launch multi-million dollar | projects to bring Tableau to our users - and they don't want | it! It's asinine! | plaidfuji wrote: | Google's ecosystem makes this incredibly simple.. all you | need is to populate BigQuery with the datasets of interest, | and Sheets can pull it in via a connector that's | configureable in a GUI. I sincerely hope my org never | migrates to MS for this reason alone. | numbsafari wrote: | Came here to say the same thing. | | Another good reason to not migrate to MS is that they are a | security disaster. | chrisjc wrote: | > I keep explaining all we have to do is build a data mart | built using SQL Server, and use our ETL tools to keep it | populated with the data they need to analyze. | | I can relate and have experienced this. The result was that | they would end up exporting from a series of Tableau/Looker | workspaces, and importing into excel and doing their analysis | there. | | Then continually making enhancement requests on the | Tableau/Looker workspaces to get any additional data they | need for their excel work. | | Then of course, the excel document and its multitude of | versions would get emailed around until it hit the attachment | size limit, or if there were too many version of it to figure | out which one was "actionable". | | We finally figured out what they were doing when the | enhancement requests for the reporting workspaces got too | bizarre. | | Insanity. | rawgabbit wrote: | To be fair, Tableau Desktop, Tableau Prep, and Tableau Cloud | are great if expensive products. With Tableau Prep, you get a | visual ETL tool. Being technical, I prefer SQL, but for | business folks Tableau Prep is more of a REPL so they see | what their actions are going to do. They can schedule these | Prep flows in Tableau Cloud which will ETL and produce daily | datasets which users can then interact via the dashboards on | Tableau Cloud. | | IMO, Excel is on the right path with out of the box | connectors to Salesforce, Azure databases, etc. What it | really needs is full blown SQL with REPL output so the users | can see the effects of their SQL. (The way Tableau Prep does | it is that it defaults to a sampling of rows to output | immediate results). There used to be a Microsoft service | called Excel online but it was another thing you had to buy | and was super confusing. Excel needs to let users schedule | their ETL/datasets in SharePoint online and then let other | users subscribe to it. They can call it Excel Super+ and | charge a small fortune. I am positive there are people with | their wallets open. | prometheus76 wrote: | That last part is almost exactly what we do with Power BI. | We import tables from a SQL data warehouse into Power BI. | We then build a data model (creating relationships between | tables, adding calculated columns to those tables where | needed, and creating measures to summarize the data). We | then create reports based on those datasets. Most of our | users are content with what they see in the Power BI web | client. | | This is the killer feature, however: power users can access | those same datasets through Excel and import the entire | model. All the relationships, all the calculated columns, | and all the measures are there for the power users to mix | and match and filter however they want in Excel. It's been | a phenomenal success for our business. | jimnotgym wrote: | >This is the killer feature, however: power users can | access those same datasets through Excel and import the | entire model. | | I had this once. Then someone decided it was 'dangerous' | and locked us out. I went back to exporting the data from | the ERP and loading it into Excel...because I was allowed | to do that | datavirtue wrote: | DataIku | guhidalg wrote: | > What it really needs is full blown SQL with REPL output | so the users can see the effects of their SQL. | | FWIW, I built a version of this at $DAYJOB. You can get | REPL-like access and export to Excel using a tool like | this: https://azure.microsoft.com/en-us/products/data- | studio | | Non-software engineers looked me like I had ten heads for | suggesting that people would need to learn a modicum T-SQL | to make use of it. I even volunteered to write all the | views for them! The lesson learned for me is that horrible | expensive ERPs/ETLs tools are never going to be replaced | with Excel + a database because even the (non-software) | engineers at a large company are not interested to learn | how to write basic SQL statements. | rawgabbit wrote: | FWIW I thought Azure Data Studio was very cool. | taylodl wrote: | > I am positive there are people with their wallets open. | | Take our money! The entirety of the Fortune 1000 would | license it on day one! | pphysch wrote: | > I keep explaining all we have to do is build a data mart | built using SQL Server, and use our ETL tools to keep it | populated with the data they need to analyze. | | I mean, that's like >90% of building a CRUD web app. If you | truly only need the R in CRUD, your approach sounds | reasonable. Otherwise, just go the extra distance and build a | CRUD app with csv export / direct SQL access. | mulmen wrote: | I'm physically uncomfortable with the idea of a CRUD app | for a data mart. | nitwit005 wrote: | You're probably asking for something impossible. It's common | for the raw data to not fit in excel. You have to do some | sort of aggregation or filtering, which means having that app | where you aggregate and filter. | | Almost all these tools support exporting to Excel or CSV, so | they can do whatever they want in Excel after that. | Sylamore wrote: | In multiple orgs now I've had raw access to data warehouses | (DB2 and SQL Server based) that had aggregates of petabytes | of data from ETL that I was free to access via Excel | PowerQuery, direct SQL tools, Python or R, or even PowerBI. | nitwit005 wrote: | If you're getting aggregates, it's not the raw data by | definition. Someone set up aggregation for you to use, | much like I described. | prometheus76 wrote: | Our company uses Power BI for this very reason. Most of our | users are content with what's available in the reports we've | built in Power BI. However, a few power users directly | connect to the datasets we've created (that also feed the | Power BI reports) and can mix and match that data in Excel. | | Excel will import datasets from the Power BI client, and you | can refresh the data at any time. The nice part of this | arrangement is that the whole model is imported. All the | relationships between tables, all the added calculation | columns, all the measures are there for use by the end user | in Excel. | | Power BI has been a great solution for our company (~1000 | employees). | ZeroCool2u wrote: | Oh the cloud part is going to be a huge deal breaker in so many | industries. This will automatically be blocked by default at my | work place for certain. | fzumstein wrote: | > I wish it wasn't solely powered only by Microsoft Cloud and | could support python running locally | | Have a look at xlwings, which runs on any cloud and also | locally. | niam wrote: | It running in Microsoft Cloud is precisely what I think will | actually allow this to be useful functionality for my company | in ways that macros aren't, because macros are seen here to | present a vector for running malware on client machines, whose | utility doesn't justify the risk. | datavirtue wrote: | Just wait for someone to run malware on your mystery cloud | instance of Excel. Have you seen the cross-instance and | cross-domain security holes Microsoft has been running into? | The latest and greatest was on their Power Platform ("Excel- | like"). Nothing like silently shipping your data off to a | remote location for inspection by blackhats. Microsoft cloud | security is torn apart and laying all over the floor right | now...nevermind all the half baked features that let you get | kneck deep in a project before you see the grande middle | finger from project hellscape. | badrabbit wrote: | I too would love this, but I can tel you, even in a sandbox | python would be very easy to abuse from a security perspective. | Consider how much havoc on humanity (no exaggeration!) VBA | Macros have caused. | dragonwriter wrote: | > I wish it wasn't solely powered only by Microsoft Cloud and | could support python running locally, | | There are existing solutions for that, but it would be more | complicated for MS to support and secure. | gorkish wrote: | TBH I'd rather have Excel sheets in Jupyter than have Python in | Excel. | infamia wrote: | There is an interesting looking competitor in this space that is | built with Python integration from the ground up. | | https://www.neptyne.com/ | | I haven't tried it yet, nor am I affiliated with Neptyne, but it | looks intriguing. | kbelder wrote: | Hmm, I would have gone with "Nyptune". | | But it looks nice. Looks fun to work with. | nprateem wrote: | I wonder who'll be the first to ship python in a major browser | gpjt wrote: | There's https://pyscript.net/ -- or do you mean for scripting | the browser's behaviour rather than replacing JS in website | code? | nprateem wrote: | Yeah, making python a first-class browser scripting language | to displace JS. I think we all know it's time. Even if it | takes a decade for ubiquity, it'll be worth it. | gpjt wrote: | Definitely check out PyScript if you haven't already. It | works pretty well and is being actively developed. (Full | disclosure: I work for Anaconda, which is the primary | developer.) | nprateem wrote: | That's cool, thanks for sharing. I've only ever seen | things that required transpilation and had complex | toolchains. I hope it catches on | tzs wrote: | This sounds like it provides a way for Excel to hand a bunch of | data to Python code for processing and get back results, and vice | versa. | | That's probably extremely valuable to many people, but it does | not seem to be what I hope for whenever I see something about | bringing Python to Excel. | | What I hope for is something that is like VBA but without the VB. | I.e., a Python (or JavaScript) interpreter/JIT/compiler built | into Excel exposing all the internal Excel objects and methods | that VBA has access to. By "Python" I just mean the language and | whatever subset of the standard library makes sense in Excel. | jodrellblank wrote: | Install PyWin32 module and `import win32com.client` and you can | access "all the internal Excel objects and methods that VBA has | access to". C:\>python Python 3.10.1 | (tags/v3.10.1:2cd268a, Dec 6 2021, 19:10:37) [MSC v.1929 64 | bit (AMD64)] on win32 Type "help", "copyright", | "credits" or "license" for more information. >>> | from win32com.client import Dispatch >>> xl = | Dispatch("Excel.Application") >>> xl.Visible = True | >>> wb = xl.WorkBooks.Add() >>> sh = wb.WorkSheets[0] | >>> sh.Range("A1").Value = "Hello World" >>> | fzumstein wrote: | The same with xlwings (works on macOS, too): | >>> import xlwings as xw >>> wb = xw.Book() >>> | sh = wb.sheets[0] >>> sh["A1"].value = "Hello World" | FredPret wrote: | That would be very cool. Python with Excel as the GUI. | Ikatza wrote: | This would be a good moment to ask for good free Python courses. ___________________________________________________________________ (page generated 2023-08-22 23:00 UTC)