cfelde / cljs4excel Goto Github PK
View Code? Open in Web Editor NEWRun a ClojureScript REPL within Microsoft Excel
License: Eclipse Public License 1.0
Run a ClojureScript REPL within Microsoft Excel
License: Eclipse Public License 1.0
Currently, the REPL is used directly to load ClojureScript code. As the REPL doesn't accept more than one line at a time, and this severely limits its ability to load anything more than simple one-liners.
As an example: The core functions defined in app/cljs4excel.cljs are copied to app/cljs4excel0.cljs where they are defined as one-liners, in order to load them on startup.
This should be fixed so that any valid cljs file can be loaded.
Add some further utility functions to make it easier to set and get multiple bindings in one go.
I imagine something like:
(get-binding-data '(id1 id2 id3 id..) fn)
(set-binding-data! id1 matrix1 id2 matrix2 id3 matrix3..)
So that would, if done like that, be extensions to the existing functions.
The purpose of (boot ..) would be to easily bundle Excel files with ClojureScript. ClojureScript could then be embedded in the document, and the boot function would eval that. This saves you from having to include external ClojureScript.
Not 100% on the arguments for boot, but potentially two variants:
(boot "named item") ; Load ClojureScript from a named item or A1 style reference
(boot :selection) ; Load ClojureScript from current selection
I love this project! I'm trying to decide right now about an OS choice for a bunch of people and projects. If I could run something like this in Google Sheets with Apps Script I would be able to use ChromeOS or a *nix universally. But Excel on Windows has SO MUCH GOOD STUFF. Is there a path to compose with Excel but still use Google Docs as a backend?
Currently the scratchpad editor (opened with (show-sp)) is a simple textarea. It would be nice if this was enhanced to be a more feature rich code editor with clojurescript syntax highlighting, etc.
A (fill-binding-data! [id] [seq]) function should be made available to fill an existing binding with data from sequence.
The function would flatten the given sequence and fill the binding from left-to-right and top-to-bottom determined by the shape of the binding. If the sequence is smaller than the area of the binding, any remaining space would be left blank.
When show-sp is run, and scratchpad editor is shown, focus should be set on the editor.
I followed the instruction at https://www.cljs4excel.com/
After inserting app, I did see the text "cljs4excel" (where "OfficeApp2" is in the illustration at the web page: https://www.cljs4excel.com/)
at the right panel next to my spreadsheet, underneath the text, in the same panel, I saw blank white area, but not prompt at all, and I could not enter any text there.
Please advise how to investigate the problem.
I'm on Windows 7 with Excel 2013.
Thanks,
I'm working on a few use case examples showing how the REPL can be used together with Excel to solve problems, illustrate solutions, educate users, etc. I think this is something anyone can help out with, so if you have ideas or suggestions please feel free to help out.
I hope to have one example or two committed in not too long, which might help illustrate further.
index.html is a leftover from testing, remove
Note to self: Need to update cljs4excel.com/index.html with new function/changes for v0.2.1
At the moment, for v0.1, it's just a bunch of files that can be loaded by the Excel Add-in browser. That's all fine for a proof-of-concept, but really it should be changed into a more traditional ClojureScript project.
That would make it easier to extend and improve.
Replumb looks promising as a CLS REPL library (https://github.com/ScalaConsultants/replumb) so will be evaluated for this purpose.
Look into the possibility of having synchronous functions that return values in addition to the current callback variants.
Hi!
Awesome project, can't wait to try.
I'm getting a 403 at: https://www.cljs4excel.com/app/latest
Cheers!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.