top | item 42095292

IronCalc – Open-Source Spreadsheet Engine

726 points| kaathewise | 1 year ago |ironcalc.com

227 comments

order

anyfactor|1 year ago

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.

nhatcher|1 year ago

I think I understand the cult part of Excel. And to be honest, Excel is a fantastic tool. I don't think IronCalc can ever replace Excel (a boy can dream though!). But many companies need a spreadsheet of sorts they can embed in their product. Allow me a bit of humour:

> Any sufficiently complicated startup or young company contains an ad hoc, informally-specified, bug-ridden, slow implementation of 10% of Excel.

Maybe we can use IronCalc for those cases?

atoav|1 year ago

Excel is powerful, but it is also important to consider its limitations.

Things will get real when your orgs problems/needs grow from something that was totally cool to do with spreadsheets to something requiring higher complexity, performance, resilience, testability, coordination, ... — and the point at which you cross over into the latter is not always clearly marked.

It would for example not be advisable to use Excel sheets as a replacement for a distributed database of central importance, unless your org is a lemonade stand with 3 employees.

I would also prefer maintaining a python script with written tests over maintaining an Excel file containing complex business logic, but maybe that is just personal perference.

Don't get me wrong here, Excel is amazing and we should all use it where it shines. But as with all tools we need to be aware of the fact that they heavily color the way we look at problems, as expressed by Maslows famous aphorism: "If the only tool you have is a hammer, you tend to see every problem as a nail."

Good engineers should not be blinded by their tools, but accutly aware of their limitations and know which to use when. Just like with hand tools you could probably also just hammer a nail in using a shovel or "drill" a hole using a screwdriver and Excel is very versatile in those regards: it can get you very far without being the best solution, a bit like a swiss pocket knife.

delusional|1 year ago

> 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.

Heh, where were you 6 month ago when my team was pitching some of our traders on replacing a system they'd built for balancing their strategy. It was built in excel of course, but what surprised me was the resistance to changing it at all. They all hated the thing, it was slow and crashed often, and right in the middle of the difficult part of the work too. Working with it was a terrible experience, even for people used to medium business enterprise crap. Yet they refused to consider any alternative to building some CRUD around it that would extract the worst parts.

The issue we faced was that there was no way we could contribute to this excel monster while still following the risk tolerance of our department. It's not that we're opposed to building something that is probably a bad idea, if it helps build relationships that let us build something better later. It's more that as soon as IT touches it, we get to own every legal aspect of it too. So they ended up with an external consultant that built them what was essentially an external database they could query, which was then supplied with data by some program somewhere.

It ended exactly as you say. They got a back-office firm to develop some one-off hack that alleviated the immediate problem, without replacing excel.

skissane|1 year ago

Outside of specific domains such as finance and accounting, most people don’t really need Excel, and will be served perfectly well by Google Sheets or whatever.

Indeed, I have hardly used Excel in years. I do use Google Sheets at work, where they are used for adhoc tracking by engineering, product management, project managers, etc.

Our son who is 11, he uses Google Sheets - and I know he has used Apple Numbers in the past too. I’m not sure if he even knows what Excel is.

wslh|1 year ago

As an expert in Excel, don’t you think Google Sheets has chipped away at Excel's dominance in a very smart way? I’m not saying that Google Sheets is a complete competitor to Excel, but it has been highly user-oriented. And, if we add Apple Numbers to this discussion, I feel it’s still at a kindergarten level by comparison.

I think this is where IronCalc like software could thrive: finding a non-complete competition to Excel, and Google Sheets that does the other part of the work better.

dudus|1 year ago

As a long time Google sheets user I recently was involved in a project for one of these Excel heavy enterprises.

I proposed the CRUD solution to complement their use case but the solution was not received well. They couldn't allocate computer resources to host the solution within their infra easily. So they pushed back and asked us to develop some Excel add-on, PowerBI based dashboard or some kind of Microsoft no code I can't care enough to remember the name.

I had no experience with PowerBI at all. But had a lot of fun learning about it. Great ideas on that piece of software but ultimately it's too hard for Excel users and too finicky for real data processing other than very simple stuff.

It failed spectacularly in the end. We could never make it work reliably and the customer also skimped on the license and didn't want to add some extra features M$ft charges on the side such as power automate and some "advanced instances". Which meant the software runs have to be manually triggered on the managers machine to update the dashboards. It was nasty.

The end result is completely unmaintainable. A collection of "M" scripts inside a power bi dashboard, it pulled data from multiple spreadsheets from specific locations, joined and processed the data, and generated reports. The scripts runs on a Thinkpad so it needs to fit inside the machine constraints of memory and processing. Some of the files are manually updated so very easy to mess up the format or permissions to the point the whole thing broke.

It was a cool experience I'm never repeating

analog31|1 year ago

I think that experienced Excel users and managers don't expect Excel to be perfect, but have figured out how to cost the inevitable bugs and changes into their expectations, to a good enough level of accuracy.

Nobody knows how long a software project will take, if it will deliver something that works or not, and if responsive support will materialize. Many if not most developers agree with this, even if they disagree as to the root causes.

One way to think of it is that it's a difference between a person and a process. A spreadsheet can be created and maintained by a person -- often the end user themselves. But since most people don't program, getting software written and maintained requires a process.

The same is true of driving a car versus flying in an airplane. When you drive, you feel like you're the person who's in control of getting yourself to your destination. When you fly, you're placing yourself at the mercy of processes that you don't control and that are not all aligned with your interests.

mmooss|1 year ago

> 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.

That is a universal issue of IT management: Any change implemented in IT systems (or anything else) will get that kind of resistance - bigger changes cause more resistance. If you change their primary tool, which they use all day and on which their jobs depend, expect a lot of resistance. The solutions:

1) Get management buy-in. They set the ceiling for acceptance - very few underlings will have more interest or make more effort than their management; if the manager dislikes it, doesn't use it, is disinterested, etc., then most others will do the same. Also, management is your support - when someone objects, they are not just objecting to you, they are objecting to their manager.

2) Get user buy-in. This is perfectly reasonable, if you think about it: Their tools, they use the tool all day, their jobs, probably they should have the biggest say. It means obtaining and utilizing their input from the start on what the tool should and should not do, etc. It may not be what you planned or expect; it may shatter your dreams; that's good - your fantasy was not aligned with reality. They provide the user end (e.g., 'don't change the keyboard UI that is in all our muscle memory and in all our documentation, and automated in macros'; 'of course you are migrating our macros, on which we depend, right?!'), you provide the technical end (e.g., 'we need a database with a spreadsheet UI and not a file-based spreadsheet').

3) Use all your development skills: test, mvp, deploy, iterate, etc.

4) Use some social intelligence: Deliver to the most interested, capable users first. Others will see them being uber-productive and want one too. Provide everyone with incredible, highly responsive support. Etc.

cyrialize|1 year ago

My first career was at a fintech company that sold auditing data. All of our clients were accountants, auditors, lawyers, etc.

Every single person worked in Excel. It didn't matter how old our website was, how crappy our code was - all that matter was that we generated a CSV.

I used Excel often - I think many people underestimate how powerful Excel is and how much of finance / auditing relies upon it.

My co-workers used to joke that the world runs on Excel. That some of the most important economic documents are probably some .xlsx file named "economy-v3" that people send back and forth over email.

manvillej|1 year ago

I feel like any solution that replaces excel must solve a larger problem outside the scope of the spreadsheet.

Data intake, preprocessing, solving performance limitations, executing automated decisions.

If it’s just a “better excel” it’s not better enough.

Andrew_nenakhov|1 year ago

I would very much use a product that would work exactly like Google spreadsheets, web and all, but would be self-hosted.

paulddraper|1 year ago

Hardly.

Google Sheets is used for all sorts of things.

Does it REPLACE Excel? No, not fully. But a lot of the time, it does.

nhatcher|1 year ago

Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have

airstrike|1 year ago

Where were you when I started writing my code ;_; I have also written a spreadsheet engine in Rust from scratch, for an app built with the iced GUI library!

I'll take a deep dive through your repo and compare notes later this week. Congrats on the huge lift!!

ericra|1 year ago

Great project. I particularly love the:

1) mit license 2) using plausible instead of Google analytics. Practically speaking, uBO is going to block both by default, but for non-tech users this is great. 3) appreciate how the app respects your pc when the web app is running in the background. Very low footprint, no random CPU spikes or anything.

Wish you guys the best.

readthenotes1|1 year ago

What keeps me in Excel 2007 is Goal Seek.

I'm not sure how unusual I am, but would be interested in knowing:)

negoutputeng|1 year ago

nice project ! and attempt to modernize the spreadsheet tech stack. be warned though, that the feature-set of the modern spreadsheet is gigantic, with tentacles in hundreds of nooks and corners. Any attempt to play catch-up is a losing proposition. Hence you could position it so as not to directly compete with excel - in areas that are new or emerging.

trivia: js based https://ethercalc.net/ is in turn is derived from https://github.com/DanBricklin/socialcalc written by the spreadsheet inventor dan bricklin

yowlingcat|1 year ago

Very cool library. I like the goal of Excel support (it truly is an incredible platform). A couple of questions:

1) Any plans for programmatic manipulation of pivot tables? Looking across the Python ecosystem, outside of xlwings (which essentially requires FFI manipulation of a running instance of Excel), nothing else makes it possible. It does look like some .NET Excel libraries support it.

2) Will there be ability to use the engine as library? Would love to use something like this through Python bindings.

eviks|1 year ago

Cool project!

Do you have a detailed list tracking compatibility with Excel?

Do you have any great ideas where you can surpass it (in one way you can use yours without UI)?

madjam002|1 year ago

Do you see this as an alternative to OnlyOffice? I’m wondering if you’ve tried it and how you think this compares

hitradostava|1 year ago

Amazing project. The question I have is why rust? Is the compiled WASM significantly faster than JS?

arjunlol|1 year ago

Looks cool! What sort of different solutions do you imagine devs building on top of the engine?

fatih-erikli-cg|1 year ago

Where and how do you handle the operator precedence? I couldn't find in the codebase.

alexk101|1 year ago

I haven't looked into the source for your project, but am curious if you are integrating any kind of existing engine/backend (Polars is what I am thinking) into it, or if that is even possible.

dpe82|1 year ago

What a cool project! I intend to dive in and I'm sure I'll have questions as I do. Are you active in Discord? The invite link on the bottom of ironcalc.com isn't currently valid.

hotbutterscotch|1 year ago

Hey, sorry for the noob question. What is the use case for this. Is it to integrate into webpages for rendering data in spreadsheets/tables ?

sunshine-o|1 year ago

Beautiful project. Congrats and thanks !

Hashex129542|1 year ago

Nice :)

You've added xlsx format to export. Is it legally allowed?

echoangle|1 year ago

Where does the name come from?

wuming2|1 year ago

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.

evanjrowley|1 year ago

>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.

Can you elaborate on those experiences?

nhatcher|1 year ago

Yeah, that is not our battle. At least not right now. Excel, and Google sheets, are and will be far more advanced than IronCalc. What we can do is to cater different needs. The focus is on lightweight and open source. Given the billions of spreadsheets out there I wouldn't be surprised if for a small percentage of them IronCalc is a better option.

The reason for Excel compatibility is twofold:

* You can use your workbooks as the are * You don't need to learn a new tool

> 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?

So far, nothing beyond Excel's compatibility

thezipcreator|1 year ago

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.

nhatcher|1 year ago

Can only agree with you. I just created a ticket for this:

https://github.com/ironcalc/ironcalc.github.io/issues/14

As I said somewhere else I had really bad marketing skills. Maybe I should talk to someone who really knows what they are doing :)

The catchphrase was decided in 5 seconds when I was sending a proposal to the nlNet and stuck.

Thanks for the feedback!

usr1106|1 year ago

I think it's the general idea that free (as in speech) software is "democratic". Even if the project does not do what you want you can always modify or fork, i.e. make changes privately for your own use or even distribute them. Closed source software is like totalitarianism, the leader or leading party knows what is best for you.

Democracy is not the best analogy, free software projects have BDFLs. The difference is more indirect, in democracies citizens have rights and freedoms. In non-democracies typically less so.

icemelt8|1 year ago

Because of your comment, I discovered OnlyOffice.

rizky05|1 year ago

This reason met my definition of democratization:

> Empowering SaaS Developers: Hundreds, if not thousands, of companies have implemented half-baked spreadsheets in their systems. IronCalc aims to provide these businesses with a superior, open-source alternative that enhances their SaaS applications.

I am currently creating SAAS and the idea of implementing LibreOffice on top of my offering just not gonna work.

kaathewise|1 year ago

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/

mdaniel|1 year ago

"backend" seemed to imply it was contacting some server, but https://github.com/ironcalc/ironcalc#early-testing claims (and the network tab confirms) it is just Rust compiled to wasm, no "backend" required

MIT or Apache 2 (player's choice) if anyone else has grown deeply suspicious about any "open source" HN headlines of late

nhatcher|1 year ago

It's running entirely on your browser unless you click share, download or import. The computation part is done in Rust compiled to wasm.

Thank you for posting!

nine_k|1 year ago

What Google Sheets functionality you're missing there?

Of course there's a lot missing, but what's interesting is what you've reached for and could not find.

snthpy|1 year ago

How tightly coupled are the React app and the Rust backend?

I hope the backend engine can be used standalone embedded in other apps.

snthpy|1 year ago

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/

snthpy|1 year ago

What would be quite cool would be a small utility that one can run over ones workooks and that produces a csv or json file of all the Excel functions used and their count.

People could submit those and you'd get real usage stats of what functions people actually use in real world workbooks rather than guessing.

Users could also then use this to run a compatibility check to see if they could move over to your engine or not.

nhatcher|1 year ago

Thanks! Yes, that is exactly the top priority of the project right now.

cultureulterior|1 year ago

It's interesting that the Iron prefix means rust now. It used to mean .NET

snthpy|1 year ago

Agree with your comment. I almost didn't click on it because I wouldn't be interested in a C# or .Net project and was very pleasantly surprised. I don't love the name.

nine_k|1 year ago

...but only in the +3 oxidation state.

seanw444|1 year ago

Yeah, like IronPython.

phonon|1 year ago

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/...

nhatcher|1 year ago

> Do you use cached calculation chains for performance optimizations?

Not yet, there is heavy research in that direction. I will write on this soo-ish

> Do you take volatile functions into account?

Yes, for instance RANDBETWEEN and NOW are implemented. Things like `IF(RANDBTWEEN(1, 500)> 200,A1, A2)` work fine

Thnaks

epmoyer|1 year 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|1 year ago

Hi epmoyer. First things first, thanks!! Second, the project hit HN before I could actually release MVP version 0.5. But heck you know what they say about being proud of your product at the time of release.

I will be working in coming weeks to make it easy to embed and use at the time being you would need a bit of plumbing and programming.

You can use IronCalc as an "embedded viewer" but that is not were it shines. If you are not using Excel formulas there are many other lighter and simpler alternatives out there.

There is currently a well defined API to set/read values from cells but you are right is not yet documented (on it's way). I is possible to have data from the start.

I will add a CHANGELOG as soon as possible. I am still recovering from the huge impact this thread had.

Thanks again for the kind words!

lovasoa|1 year ago

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.

nhatcher|1 year ago

Woah! I didn't realize luckysheets renamed to univerjs!

I think at the time being you should stick to univerjs as it is a finalized product. Once we reach version 1.0, IronCalc should be easier to deal with and you cold consider using one or the other.

mgkimsal|1 year ago

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!

nhatcher|1 year ago

Yes, IronCalc is first a spreadsheet engine. Meaning it is a library you can consume from Rust or Python without any UI.

eointierney|1 year ago

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.

Aeolun|1 year ago

> One of those "why hasn't someone done this already?" projects.

I think this one is fairly clear. It’s because it’s a massive amount of work with a not necessarily large payoff for yourself?

I think some of these basically get made when someone gets too annoyed something similar doesn’t exist.

mhh__|1 year ago

Why would there be any reason for this to kill excel? Seriously you should try to replace excel entirely rather than merely get a better version of it. If you want to get a better excel just buy excel and actually learn how to use it.

inglor|1 year ago

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|1 year ago

Props on Rust not being mentioned here or on the index page.

dwroberts|1 year ago

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

nhatcher|1 year ago

Thanks for the bug report!

I just added csv copy/paste, most likely an error there. We don't support arbitrary precision arithmetic but I would like to.

openrisk|1 year ago

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.

nhatcher|1 year ago

The data is stored in your browser's localStorage.

I think the take is a tad different form pysheets. Cool tool though!

jeremyscanvic|1 year ago

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|1 year ago

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?

nhatcher|1 year ago

Thanks. I am thinking a lot about this recently. We will definitely support a scripting language, or rather several scripting languages. VBA won't be one of them, I think. I wouldn't want to create a language just for this. Maybe use a language like Lua or perhaps Rhai[0]. By design extending and embedding IronCalc should be very easy. Work in this direction will not start in the next 9 months though.

[0]: https://github.com/rhaiscript/rhai

microflash|1 year ago

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.

nhatcher|1 year ago

The idea is to have an egine that is clearly separated from the various "skins" like a React, Vue, a TUI or a desktop app. At the moment the React component is a bit difficult to use in isolation. I need to provide a npm package that folks can install

afiodorov|1 year ago

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|1 year ago

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.

8n4vidtmkvmk|1 year ago

IIUC, this project is focused on the calculations, not the UI.

nhatcher|1 year ago

Thanks, those things are on the roadmap :)

paradite|1 year ago

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?

nhatcher|1 year ago

At the time of writing, you can use Rust, Javascript and Python bindings.

The React front-end communicates with wasm compiled from Rust.

Java bindings are planed but not in the next ~6 months. A client/serve architecture (like libreoffice does) with IPC or sockets might be a good idea for languages that we don't provide bindings to. also not planned for the next 6 months

howthisends|1 year ago

This is awesome. Will try using it as the foundation of some web tools.

nhatcher|1 year ago

If you do and want help with, don't hesitate in contacting me.

Right now you can't just `npm install ironcalc`, but hopefully that will be in place in a month from now.

neoyagami|1 year ago

Sudently I have the urge of adding this to my app report system

HexDecOctBin|1 year ago

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.

nhatcher|1 year ago

Yeah, that should be pretty easy. I'm actually curious. I might try this soon

majkinetor|1 year ago

Great, very needed.

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

fithisux|1 year ago

Calc and Dbeaver with DuckDb for me. If it compiles with Mingw, why not.

franga2000|1 year ago

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?

nhatcher|1 year ago

I'm a software developer with extremely bad marketing skills...

This project targets both end spreadsheet users and developers. In its first an engine (a Rust crate) then a full fledged product.

FWIW, I'm over them moon this project is getting some traction :)

hcarvalhoalves|1 year ago

It shows the main focus is not the technology, but the fact spreadsheets are important and deserve a robust open source alternative.

Nathanba|1 year ago

I think using the word "democratization" is the main issue, how does that even make sense in software? Who is doing the voting? You just "vote" by forking...? I don't get it, you also "vote" by using Microsoft Excel.