Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embedding and extending IronCalc #65

Open
nhatcher opened this issue May 3, 2024 · 4 comments
Open

Embedding and extending IronCalc #65

nhatcher opened this issue May 3, 2024 · 4 comments
Assignees

Comments

@nhatcher
Copy link
Member

nhatcher commented May 3, 2024

At this point this is a project research

Extending IronCalc is adding new features or abilities or functions to IronCalc. We want IronCalc to be extremely hackable and adaptable to other people's necesities. The most notable example would be adding a new spreadsheet function. Other examples might be, connection to a database (sqlite?).

Embedding means calling IronCalc from other sources. Because we already have an API that's easily done from languages like Python. The prime example here in my mind is an scripting language like Lua that would do a similar job as VBA

@nhatcher nhatcher self-assigned this May 3, 2024
@declann
Copy link

declann commented Nov 11, 2024

+1 for embedding in Javascript, which would be a nice path to interactive UIs that use calculations that are defined in IronCalc. Considering rust/wasm, I guest this should be reasonable and fast.

@jamesarosen
Copy link

Does @ironcalc/wasm resolve the JavaScript embedding? Or are you looking for the spreadsheet UI as a JavaScript library? Or something else?

@declann
Copy link

declann commented Nov 12, 2024

The wasm package looks great but you must make many engine api calls to re-build a non-trivial spreadsheet programatically. Generally I'd like to be able to make something in ironcalc and call it from JS programatically, using custom engine calls to change inputs and recalculate.

Load support in the wasm package or alternatively an Export from ironcalc that lists engine api calls which rebuild its cells would suffice (export to mjs?).

My goal is to make some ironcalc spreadsheets, then run them many times in JS (including with different changes) and understand performance of the rust engine. I can also make interactive UIs that interact with spreadsheet calculations at that point (I make many, see examples on calculang.dev).

@enjoythecode
Copy link
Contributor

I'm interested in having access to the web UI as a stand-alone library that can be provided with a custom "backend". Currently, the "backend" is the wasm bindings of IronCalc.

For example, I'd like to use spreadsheet UI in my game. I have game data, but developing the spreadsheet UI is a lot of work. If I could write my custom "backend", I could expose game data on get_cell_*, and then also modify game state when certain methods are called.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

4 participants