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.
IronCalc – Open-Source Spreadsheet Engine
61–70 of 238 posts
Re: IronCalc – Open-Source Spreadsheet Engine
#62Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have
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.
A goal of IronCalc is to make things like integrating Polars trivial for a developer.
Re: IronCalc – Open-Source Spreadsheet Engine
#63Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have
Amazing project. The question I have is why rust? Is the compiled WASM significantly faster than JS?
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.
Re: IronCalc – Open-Source Spreadsheet Engine
#64This 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/...
> 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
Re: IronCalc – Open-Source Spreadsheet Engine
#65Earlier quoted context omitted.
> 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
What does that actually mean, "works"? I don't know how that behaves in Google sheets or Excel. Is it evaluated exactly once the first time the formula is entered? Every time you focus the input? Is the dice rerolled when a1 or a2 is modified? What?
Re: IronCalc – Open-Source Spreadsheet Engine
#66Earlier quoted context omitted.
backend does not imply server to me, it implies software that does the calculating engine work and does not concern itself with display refresh.
Surely that's background not backend.
Re: IronCalc – Open-Source Spreadsheet Engine
#67Nice 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.
Re: IronCalc – Open-Source Spreadsheet Engine
#68Earlier quoted context omitted.
> 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
What does that actually mean, "works"? I don't know how that behaves in Google sheets or Excel. Is it evaluated exactly once the first time the formula is entered? Every time you focus the input? Is the dice rerolled when a1 or a2 is modified? What?
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.
Re: IronCalc – Open-Source Spreadsheet Engine
#69Earlier quoted context omitted.
I don't think a recursion should be involved in the parser. Shift-reduce may be an answer but it does not fix the problem either if you try to implement that. I would like to see real code rather than written homework pieces.
Better not use popular toolchains then: 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.
Re: IronCalc – Open-Source Spreadsheet Engine
#70Hey! This is my project! Amazed to see this here. I'll try to answer questions people might have
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.