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.
> 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?
Let's give Philip Greenspun due credit for this phrase. I'm going to guess there's at least one generation who isn't familiar with it.
It was the only page open in Chrome, freshly launched specifically for this test. Safari has a bajillion open windows and tabs. Something about how Chrome handles the page is definitely odd.
Just for fun, I also tested in Firefox, which was already open with fifteen windows, most of which have a handful of tabs. No lag there.
This has been tricky to reproduce.
I did load up Chromium to check it and got the lag there as well: 124.0.6359.0 (Developer Build)
I don't use Chrome almost ever. Maybe my outdated version is why you can't repro.
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.
But running your entire org on a single whiteboard or a piece of paper only works up to a certain size and comes with downsides as the org grows. Same thing goes for one big excel file where people have to take turns with editing.
To extend your analogy too far, Excel is the 4mm allen key you get with all your Ikea furniture. It's good enough to build all the bog-standard, functional but not particularly nice furniture you need, but sure you'd rather have bespoke custom work. Sometimes you don't have or want the tools, or know how to use them and that's OK.
One can dream
What I found is such tools barely work because what makes Excel so sticky is ability for end user to change that logic. X + Y = Z. Well, Click Clack and Z -Y = F
That's just so difficult to handle in a way that isn't "Just use Excel"
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.
Relevant XKCD: https://xkcd.com/1172/
As someone that has had other software tools replaced with alternatives (think Slack replaced with Teams), the new solution almost always speeds up and fixes a lot of problems. It also invariably screws up at least one thing that I need the tool to do as a part of my job.
I love my IT colleagues, but (and I mean no offense to them or other IT folks) they don't understand that the way we use our internal tools is super flexible and doesn't adhere to an end to end process. It's how we ended up with an entire software platform that takes more manual steps, breaks in a way that we can't fix, and still requires the use of Excel to get the output into the formats that our stakeholders need. It also can't adapt quickly when we need to change things in our process.
It is a technically impressive tool that does the things they designed it to do super well. But we're like a month away from needing an Excel tool (or another piece of software) that can reliably do all the things we didn't realize relied on the "hot spacebar" from the XKCD.
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.
So if you've never used Excel, you can probably get away with an alternative. But if you already know Excel, why would you add another product for some subset of use cases?
I’ve noticed over the years that younger generations are far more used to using Google Sheets since schools and universities have strong adoption of Google Workspace. As a result, I’ve seen less and less use cases that were once believed to be Excel only domains turn out not to be.
I’m not going to proclaim the death of Excel by any means but it’s not as ironclad of a leader position as it once was. There is however some increasingly niche cases where Excel can do things that Sheets can’t, or doesn’t do as well. One non obvious (for todays environment) use case being offline portability, Excel being a standalone program really helps here.
That said, they both suffer from one issue that’s the same, which is there is no ergonomic way to run business logic rules over the calculations easily (and some cases at all)
Don’t most people embed business logic into their spreadsheet formulas?
Or is there something else you’re referring to?
There being validation around that can significantly reduce errors, such as checking totals against system values etc.
I know Excel – I've been using Excel since before Sheets existed. First spreadsheet I ever used was Lotus 1-2-3 for DOS (I was just a kid at the time, so I was just mucking around with it, not using it in anger – but I remember watching my father use it in anger.)
At my work everyone gets Sheets, whereas you only get an Excel license if you specifically request one – and most people don't. So why would I use the product which most of my colleagues don't have, instead of the product everybody has?
Likewise on my personal laptop, I have an Excel license... and still I use Sheets for most things. Habit maybe? I've never used the web-based Excel, and I don't like having to deal with open another app.
The only time I ever use Excel nowadays is if I need to open some complex Excel spreadsheet that Sheets can't handle properly, or if I need to work on some Excel spreadsheet import/export function at work – both of which are "once in a blue moon" activities for me.
Black magic in the hands of an experienced user.
I’ve worked with a “prototype CRM” that was just a big Google Sheet. Basically a lead generation form would add a row to the sheet, and the sales team would edit cells to reflect the state of the sale. It grew to 3 million rows and still worked. Doing that in Excel is a laughable idea.
I’ve also been on a management team where compensation planning was done with ten managers editing a shared Excel sheet with just a few hundred rows. Somehow some rows got deleted and others got slightly scrambled during the process. It was a huge mess.
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.
I am partially joking (they put it on the cloud in a way that's super useful and made collaboration remotely easier, along with other scripting inprovements), but I think it highlights that the main "benefit" to Sheets is that it's a fully featured product created by a mega-corporation that complements other tools they have to offer.
Put another way: how many companies use Microsoft for everything except Excel? How does that compare to companies that use Google Drive for everything except for spreadsheets?
A tool like this one has the upward battle of needing to be so useful, it is worth employing alongside your currently existing office software. It feels like spreadsheet software is a particularly hard arena to compete in, given the quality of the major ones you mentioned.
It’s not just a feeling. A basic Porter’s analysis, especially with a 6th force, reveals how nearly impossible it is to compete effectively (now) in the spreadsheet software market given the dominance of the major players.
[1] https://en.wikipedia.org/wiki/Porter%27s_five_forces_analysi...
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
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.
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.
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.
Data intake, preprocessing, solving performance limitations, executing automated decisions.
If it’s just a “better excel” it’s not better enough.
Google Sheets is used for all sorts of things.
Does it REPLACE Excel? No, not fully. But a lot of the time, it does.
I'll take a deep dive through your repo and compare notes later this week. Congrats on the huge lift!!
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.
https://plausible.io/ironcalc.com
I think more than one folk in HN might be interested. All traffic is because of this post. I had no visitors as of today. This was work in progress :)
Only 13.4% of HN readers use Firefox. For shame. But seriously, it's interesting that safari is top by quite a margin.
I would imagine both solution being much more popular on Desktop / Laptop. Hence 75% of all views counted are actually from Smartphones.
WRT: Plausible. I think I will remove all kinds of analytics, I'm not yet convinced I should be using them at all. That being said I had been longing to try Plausible for the a long time and this seemed like a good opportunity.
I'm not sure how unusual I am, but would be interested in knowing:)
https://bossanova.uk/jspreadsheet/v4/ which is the open source version of
Serious question. I base a lot of work off the open source jspreadsheet. Curious about yours.
If and when we reach version 1.0 we might be comparable. And you might want to use one or the other. It its difficult to say who the two product will compare in a year from now but probably IronCalc will be lighter, easier to integrate, faster in computations but not so feature full.
trivia: js based https://ethercalc.net/ is in turn is derived from https://github.com/DanBricklin/socialcalc written by the spreadsheet inventor dan bricklin
If I were to go closed source, for instance, I think I loose 90% of my selling points.
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.
As soon as we possibly can
2) Will there be ability to use the engine as library? Would love to use something like this through Python bindings.
That is in place already! It is an MVP, so I haven't published all packages for all architectures but you can compile it from source:
https://github.com/ironcalc/IronCalc/tree/main/bindings/pyth...
2. Multi language support, language connectivity, enhanced data types, ...
You might very well be right, but out first step is to be as close to Excel as possible. We are ~ 1 year away from being formula compatible in a reasonable way. Once we are there we can do better in different directions. I think strict typing might be very beneficial for spreadsheets engines. Anything you can do to reduce errors and human mistakes.
I strongly believe that having a competitive spreadsheet engine fully open source might be a good first step in extending and improving Excel.
Let's see!
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)?
There is not a detailed tracking of all Excel features. But we track:
1. Function implementations: https://github.com/ironcalc/IronCalc/labels/Functions 2. Dynamic arrays, defined names, pivot tables, ...
Excel is huge we only aim at implementing a subset.
And some features could reduce pressure re compatibility in other areas. For example, if you had some kind of wasm plugin system, then people could easily write the lacking functions in their favorite language without having to wait for the core to add such a function.
For what I can see OnlyOffice is feature complete, it's a full office solution. The sheets component is way ahead from IronCalc.
On the plus side, IronCalc is way lighter. When you go to IronCalc you download < 1Mb (compressed), it is faster and able to load larger workbooks on the web. IronCalc is an engine, meaning you don't need a UI at all to run it.
I don't think IronCalc is an alternative today to OnlyOffice. At most one day might be an alternative to the sheets component.
As for Rust, could have been C or Zig. I just needed a language that minimally compiles to wasm.
There is another reason though. IronCalc runs in the bare metal, not only in the web and needs to have bindings to languages like Python, R or Julia. I can't get that today easily with TypeScript.
Imagine a spreadsheet built by the finance department of an institution. It is also maintained by them. The developer team might want to integrate this tool in their workflow. With IronCalc the can add units test or compute it a thousand times, one for each user.
I don't think developers would choose IronCalc to do any actual development. They will be forced to by other parts of their tool chain being spreadsheets.
Another way would be developers wanting to build spreadsheets with some extensions for a company or organization. Imagine needing a spreadsheet that has a built in SAT solver (like https://github.com/shnarazk/splr). That would be easily built in IronCalc.
Not sure if any of those ideas convinces you :)
https://www.nhatcher.com/post/a-rustic-invitation-to-parsing...
The implementation in IronCalc follows that.
Source: 20 years ago I converted GCC's C++ parser from recursive descent to an operator precedence parser; obviously GCC respected precedence even before my work, which was purely an optimization. In fact the code I replaced had the note "The expression parser recurses through the various levels of precedence as specified in the grammar, rather than using an operator-precedence technique".
https://github.com/gcc-mirror/gcc/commit/b8b94c5ba81744d325f...
https://gcc.gnu.org/wiki/New_C_Parser
https://clang.llvm.org/features.html
I think this is a quite popular approach for multiple reasons. That being said, tree sitter uses GLR.
A goal of IronCalc is to make things like integrating Polars trivial for a developer.
I don't necessarily respond every day immediately, but I am active.
You've added xlsx format to export. Is it legally allowed?
https://ecma-international.org/publications-and-standards/st...
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.
Can you elaborate on those experiences?
CERN tried to replace Office with NextCloud. It is now struggling to cope with a policy reversal under Microsoft fanboys.
Both cases were also discussed here.
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
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!
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.
Calling it democratic is is like calling cancer a completely natural phenomenon. It's true, but it's also completely beside the point
https://www.collaboraonline.com/code
https://hub.docker.com/r/collabora/code
(it's FOSS, the language about "home use" is there to scare large companies into buying commercial versions with support contracts.)
> 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.
MIT or Apache 2 (player's choice) if anyone else has grown deeply suspicious about any "open source" HN headlines of late
However, the browser, sorry, the Internet browser, is typically a distributed system and a more plausible interpretation of backend is server-side.
IMNSHO.
is it going to be local or remote? that's not part of the question.
is it foreground or background? that's an implementation choice. apple II, yeah, everything freezes while it recalcs. windows? recalcs when it can, don't let the mouse freeze.
Thank you for posting!
Thanks for making this in the first place! I saw IronCalc in the list of projects supported by NLnet and it grabbed my attention.
By the way, if You don't mind me asking, how'd Tuta end up sponsoring IronCalc? It seems that lately they and Proton have been trying to expand their business away from just email. The fact that Tuta is interested in IronCalc makes me think they want to have an office-like offering.
I haven't have talks with them about integrating IronCalc, but it is something that is on my mind.
There are a few projects where I'd love to see a modern spreadsheet implementation. CryptPad comes to mind. They use OnlyOffice, which is quite featurefull, but takes awhile to load and isn't as responsive.
Of course there's a lot missing, but what's interesting is what you've reached for and could not find.
I hope the backend engine can be used standalone embedded in other apps.
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.
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.
If you don't mind compiling yourself there is a somewhat rough tool tat does that:
https://github.com/ironcalc/IronCalc/blob/main/xlsx/src/bin/...
It will tell you exactly what cells evaluate differently.
I will also add mentions to unsupported formulas and features
https://github.com/logisky/LogiSheets
https://github.com/natefduncan/excel-emulator
https://github.com/jiradaherbst/XLFormula-Engine
I guess I have some reading to do!
What is the last one?
https://learn.microsoft.com/en-us/office/vba/excel/concepts/...
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
I realize I am most likely babbling too much.
Yes, volatile functions like RANDBETWEEN get evaluated each time a cell changes. They don't get evaluated when you focus on them.
- 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!
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!
I'm excited to follow along with your progress, and to embed it into something fun when it's ready for embedding :)
Thanks for adding the changelog today! That will make it super easy for everyone to follow the progress.
Cheers!
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.
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.
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!
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.
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.
This is out of date, and not a priority ATM, but we will have a TUI for it:
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.
Uncaught RuntimeError: unreachable executed pasteCsvText assets/index-BxqQcmeI.js:40
I just added csv copy/paste, most likely an error there. We don't support arbitrary precision arithmetic but I would like to.
Interesting to see all those different takes on the spreadsheet metaphor.
I think the take is a tad different form pysheets. Cool tool though!
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.
I couldn't find docs on how to use it in languages other than rust. Perhaps via IPC?
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
Just to clarify, this means that the entire engine is compiled into wasm and runs inside the browser? There is no server component?
* Serves the files * Stores if you click share * Converts to xlsx if you download * Imports model
The engine is fully compiled to wasm and run in the browser.
Right now you can't just `npm install ironcalc`, but hopefully that will be in place in a month from now.
Consider making formula engine standalone as it might be used in other contexts, like Markdown or html tables.
> 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?
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 :)
It doesn't seem to say "in browser" - so I'm wondering if it's Windows or Mac or ...?
Since it is in-browser there's then no detail on what the scope is - where are the spreadsheets stored? How are they shared? Do I host it on my server? Are they stored on your server ? Can I embed it on an existing page? Can I update cells via JavaScript? Or websockets?
And so on.
Some of the above is inferable from the comments here, but not all.
Congratulations on a cool project - but you may want to "set the scene " as it were for prospective users.
* Gerund Adjective Noun (bold): (colon) text (non-bold).
----
Already the format like this. Then plus points for sounding like an empty phrase that chatgpt likes. Eg from the heading "Addressing Unmet Needs" then bullet "Empowering SaaS Developers:" in bold.
It's hard to describe. If you use chatgpt a lot, you develop an intuition that has many components.
Those have long been believed to be the foundations of democracy; you might have heard this one, which founded one democracy:
We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.--That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed, ...
That also says governments exist - their reason for being - is to protect those things you deny are relevant.
Then from the French Revolution, and now France's national motto: Liberté, Égalité, Fraternité. "Liberté, Égalité, and Fraternité are fundamental values that define French society, and democratic life in general."
https://www.liberties.eu/en/stories/liberte-egalite-fraterni...
From the Universal Declaration of Human Rights:
Whereas recognition of the inherent dignity and of the equal and inalienable rights of all members of the human family is the foundation of freedom, justice and peace in the world, Whereas disregard and contempt for human rights have resulted in barbarous acts which have outraged the conscience of mankind, and the advent of a world in which human beings shall enjoy freedom of speech and belief and freedom from fear and want has been proclaimed as the highest aspiration of the common people, ...
Whereas the peoples of the United Nations have in the Charter reaffirmed their faith in fundamental human rights, in the dignity and worth of the human person and in the equal rights of men and women and have determined to promote social progress and better standards of life in larger freedom, ...
Article 01: All human beings are born free and equal in dignity and rights. ...
Even more, why do you want it to be true? Why do people want to eliminate their own and others human rights, an incredibly positive basis for society and for your freedom and prosperity, which has resulted in what are by far the most successful societies and people, by many measures, in human history? You're giving away all that for what? To look clever and 'with it'? Smarter than democracy? Very clever.
You should be fighting for it, like your predecessors did. Otherwise, you'll lose it. There are people actively and successfully taking it away, while you are engaging in this philosphical exercise.