IronCalc – Open-Source Spreadsheet Engine

(ironcalc.com)

Comments

anyfactor 10 November 2024
I was an excel enthusiast and studied accounting mainly for Excel. Although I have moved to programming unlike most I still do think Excel is awesome.

I sincerely commend the enthusiasm, but working in the industry as the "excel expert", I think most outsider does not understand the "cult" aspect of Excel.

Excel works. That is it.

Trying to replace excel with anything will be percieved as replacing a calculator with some alien substance that does math. Excel is like Pencil and Pen. You can not replace it.

Excel is not software it is a tool.

I have had my fair share backlash when trying to introduce replacement and complimentary tools. To replace excel, you not only need to advocate for it's usefulness and you need to be also be liable to the complaints from excel users. If anything goes wrong no how minor with the new tool, you are the one who introduced all these mess.

So, in practice what usually happens is that, when people hit UX challenges they go to a consulting firm and commission a backoffice software to address the Excel limitations. Some business may pay for nocode but that is very rare. They go to backoffice software firm and they build a CRUD software that is now not replacing Excel but compliments it.

epmoyer 7 hours ago
I love it!

- I think you should add a CHANGELOG.md, so people can see progress/features evolve (https://keepachangelog.com/en/1.1.0/)

- I think you should report the rev somewhere. I can’t tell what the “current rev” is in GitHub or in the running demo.

- The roadmap says what’s coming in 0.5 (October 2024), but it’s not clear whether 0.5 is “done” or if that’s what’s running on the demo site today.

IronCalc would be awesome as an “embedded viewer” for data. I’m currently implementing an internal web app where I’d love to provide “monitoring” by just dumping a whole lot of transactional data from the db into a “live” IronCalc spreadsheet as a “view” tool that you could also do some data exploration in.

The 0.5 roadmap says “API to set and read values from cells” but it’s not clear to me whether it would be possible or not to embed it today and inject data at “start” time from JS. The scope of the current docs is “using it as a spreadsheet” but they don’t cover “how to embed it / integrate it”.

Love love LOVE! Would embed it TODAY as a data viewer could. :) Nice work! I am watching with bated breath!

nhatcher 9 November 2024
Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have
wuming2 10 November 2024
It’s a great ambition to replace Excel and many went down this path before. Congratulations to even attempting to achieve it and going this far to do it.

Excel compatibility, when fully realized, will remove the major obstacle to adoption. Given the current stronghold Excel has on the market.

Once that is achieved do you plan to offer a transition to more modern forms of calculations as vectors and arrays formula panels together with frozen sheets of raw data and output? Thus separating logic and model.

Also when your solution adoption will have grown much larger you should learn from the experiences Bavaria and CERN went through. Microsoft stronghold more often than not has nothing to do with technical prowess.

thezipcreator 10 November 2024
cool project, but I don't particularly like "The democratization of spreadsheets" as a catchphrase. Like, what does that even mean? If by "democratization" you mean like, more able to be used, well anyone can go download LibreOffice or for the web use CryptPad's Spreadsheets, and if you mean that it's more open, well both of those are open source. Is this project specifically run democratically or something? It just seems like a really bad use of meaningless marketing terminology.
kaathewise 9 November 2024
A spreadsheet engine. It's a React app with a Rust backend, but it impressed me how snappy it was[0]. Of course, it's not nearly as feature rich as Google Sheets, not to mention Excel.

[0]: https://app.ironcalc.com/

snthpy 10 November 2024
Awesome project! Looking forward to following this.

I've been looking out for projects like this over the years and I'm glad to see that this one takes Excel compatibility seriously! Also love the choice of Rust and WASM!

For me Dynamic Array support is a blocker and I can't play with it until you've got that. Very glad to see that's your top priority though[1]! That and everything in the Logical, Lookup and Reference, and Information sections (in that order). That covers probably over 95% of my work and I spend most of my time in Excel.

1: https://docs.ironcalc.com/

cultureulterior 10 November 2024
It's interesting that the Iron prefix means rust now. It used to mean .NET
phonon 9 November 2024
This looks great! Do you use cached calculation chains for performance optimizations? Do you take volatile functions into account?

https://learn.microsoft.com/en-us/office/vba/excel/concepts/...

lovasoa 10 November 2024
This sounds like a cool project! Does anyone here knows how it compares to univerjs ?

I currently use univerjs to power the open source sql spreadsheet component I work on (https://github.com/sqlpage/sqlpage-spreadsheet/). My experience with it has been that it's very powerful, but quite difficult to use due to the boilerplate involved, the lacking documentation, and the fact that it seems to be developed mainly for the Chinese market.

mgkimsal 10 November 2024
Can't tell by the docs (but I've not dug in much yet) but... @nhatcher... here's a use case question.

Admins use the ironcalc UI to create their formulas. Is there a way to get those formulas to a backend and run the calcs on the server itself (separate from the user's browser) to get results based on input from other sources?

The UI half looks great so far. I have a colleague I was going to recommend this to, but they more need the 'run the formulas on the server' part more than anything else. They've got some custom Rust stuff running already, but having admins come up with their advanced formulas, then translating that to server code - that takes the time. It seems they may be able to use this to have this handle both ends of the workload, without the translation layer.

Is that something supported, or even feasible?

Thanks!

eointierney 10 November 2024
Congratulations, this is awesome. One of those "why hasn't someone done this already?" projects.

I can see this becoming transformative and superseding Excel, which is a bold claim to make. But this is compliant (with Excel), performant, extensible, free, and in-browser. This could easily become almost an emacs-level editor.

Think of the interfaces that could be built to this in this?

I'll be sharing this with every student I know.

And the name is a winner.

inglor 10 November 2024
When I worked at the Excel team our motto was Excel is the second best tool for everything.

I'm excited to see more players in this space though, all the standards are open and there are decent libraries with decent licenses that exist. A lightweight LibreOffice alternative would be neat and something truly open source and embeddable (MIT) is great.

jvanderbot 10 November 2024
Props on Rust not being mentioned here or on the index page.
dwroberts 9 November 2024
Had a comment here about larger values/arbitrary precision (e.g. 74829901923401860/14408150751351922) and realised that it isn't choking on the number but it seems to error if I paste in values? In Firefox:

Uncaught RuntimeError: unreachable executed pasteCsvText assets/index-BxqQcmeI.js:40

openrisk 10 November 2024
Is this similar to pysheets? From a quickscan it seems that its running client-side via rust/wasm but where are the data stored?

Interesting to see all those different takes on the spreadsheet metaphor.

jeremyscanvic 10 November 2024
I was recently looking for a Linux alternative to LibreOffice Calc and couldn't find something that meets my needs (mostly CSV import/export, filtering and pivot tables). It's great to see this new contender showing up and even if it lacks major features what's there so far looks very good. This is promising! Congrats for the good work and best wishes for what's to come.
iamthejuan 9 November 2024
I am genuinely looking forward for the success of this project. I am just wondering will this support scripting language like VBA for Microsoft Excel?
microflash 10 November 2024
Impressive project. I’ve dealt with Excel a lot so anything new and ope source catches my attention.

The docs currently focus on the engine part but I’m more interested in the integrations (for example, with Java, Angular, Vue etc).

I’m currently on mobile but I’ll have to take a look at your React example to see if I can write a working Angular or Vue example.

afiodorov 10 November 2024
I am quite excited about the new era of WASM webapps - those are cross-platform & fast. Unlike traditional desktop programs those are sand-boxed & unlike mobile apps the distribution channels are open ("side-loading" by default).
bonoboTP 9 November 2024
Nice work. Clicked around in it, some default features I'm used to are missing, like clicking on a row or column header to select the whole thing, or double click the resizer between two columns to autosize the column to content length.
paradite 10 November 2024
In it's current form, how would I integrate the engine and UI in an existing software with, say Java backend and React front-end?

I couldn't find docs on how to use it in languages other than rust. Perhaps via IPC?

howthisends 9 November 2024
This is awesome. Will try using it as the foundation of some web tools.
HexDecOctBin 10 November 2024
Any plans to add C bindings? Most other languages have a decent FFI story, and being usable from C will make it more universally usable.
neoyagami 10 November 2024
Sudently I have the urge of adding this to my app report system
majkinetor 10 November 2024
Great, very needed.

Consider making formula engine standalone as it might be used in other contexts, like Markdown or html tables.

fithisux 10 November 2024
Calc and Dbeaver with DuckDb for me. If it compiles with Mingw, why not.
sbenson246 11 November 2024
f
franga2000 9 November 2024
It's a cool project, but wow is the top of the page just absolute buzzword salad!

> The democratization of spreadsheets > Empowering Everyone with Advanced, Open-Source Spreadsheet Solutions

It's a really fast spreadsheet engine that runs entirely in the browser and is fully open source. That's all the sales pitch I'd need, but I'm a developer...

So, serious question: who is this kind of marketing targeting?