Drag a box to define a new table, intersperse whitespace with text/images/graphs/formulae (two cells) that aren't locked to a grid based on a upper-left table.
Auto-recognise the first line in a table as a title, second line as column headings.
LibreOffice already allows SQL on spreadsheets; but SQL formulae would be cool.
What I'd like is something you can do both. Start writing random things but then slowly formalise - define columns as specific types for consistency etc. And if you do this enough end up with a structured database. But not force only one or the other
One can select a cell inside a table-like range and click "Format as a Table" to have Excel automatically infer the range of the table (including the headers) and enhance it with database-like features. One can then refer to columns in formulas using references like so: `=[@[first column]] + [@second_column]`. Modifying the formula in one cell will also update all the cells in the same columns.
Very useful!
Building join tables with calculated fields is a missing feature in all spreadsheet-like solutions as far as I know.
Also I concur with the parent that I often get frustrated by my inability to do spreadsheety things in these tools.
Also, if you just want to do queries and don't care about instant updates, you can do any SQL you like including joins with a SQL endpoint or a custom widget https://twitter.com/getgrist/status/1710018836836077967
[Grist employee]
formulas but in JS/TS, on data change trigger of serverless cloud functions, assign default values for database columns, granular permission controls, store files/assets images to cloud storage, bulk deletes and more.
Disclaimer, I am one of the makers :)
Email me if you don't find what you need: [email protected].
I am building an open-source tool that allows quickly building web user interfaces on top of relational databases [1]. Among users are many people without a CS background, and without prior knowledge of SQL. And from the feedback I get, the pain point for getting started is very rarely learning SQL. Spreadsheet formulas are often much more complicated than the basic SQL queries that cover 90% of what everyone needs.
Still have the code? You should open source it! Probably nothing comes off it, but that's guaranteed to be the outcome of keeping it closed
And for the time, Enable's ss had some interesting innovation. One was the integration through the whole suite. But most interesting to me, on the ss team, was the 3D nature of the app.
Excel liked to bill itself as 3D, but it's not really: their tabs aren't a true third dimension. But Enable's was, so any range could be specified with a Z-dimension if you chose. This allowed interesting patterns like a report with an XY plane for each month, with the top one being a summary, implemented by summing (or whatever operation is appropriate) that 1x1 cell down through the Z range.
Another contemporary one I liked to play with also claimed to be 3D and wasn't but in an interesting way. Lucid 3D was actually hierarchical, such that any sheet could expose a single value to be consumed by a single cell in a parent container sheet, recursively.
So, thank you very much for your invention, and I'm glad it lives on!
I would prefer RShiny, but the intended audience can't modify that...
And we're still competing with Excel almost 40 years later...
Thanks for sharing!
i have been searching for this for literally years, all the time maintaining an app as a google sheets script, because much as i would prefer something self-hosted and customisable, that collaborative grid view is the ideal user interface from my users' point of view. so far nothing has fit the bill - basetool (https://github.com/basetool-io/basetool) might have but it's discontinued and underdocumented, and i'm not really a web developer so i don't feel up to the challenge of getting it running and integrated into an app.
grist actually came really close from a ui perspective, but it was too focused on being a spreadsheet and doing computation in the frontend. i filed an issue that explains my use case in more detail: https://github.com/gristlabs/grist-core/issues/422
I finally sat down and wrote a simple terminal program to manipulate tabular data just so I could drive it from Python, Zig, Rust, etc.
At various meetups, I have discovered that quite a few of us have written a "shitty limited spreadsheet" because you can't drive the spreadsheets programatically.
We support concurrent editing, so you see updates from your teammates in realtime, but we just haven't built a frontend for it yet, so you don't get the visual indicators a la Figma of where your teammates are and what they're doing.
Email me if you want to chat more: [email protected]
what i'm trying to build is a multi-user version of a desktop app, so while i'm not really opposed to paying for a good tool (albeit at a nonprofit-friendly tier :)), per-user pricing is a non-starter, as is the high cost of self-hosting.
by way of comparison, the current "product" is a google sheet with an attached script file, and when someone wants to use it, i just send them a link to clone the sheet, and they have their own instance that they can share with whoever they like, setting read/edit permissions entirely by themselves. even if the non-google-sheets version ends up being something i need to host myself, i would like to replicate that level of ownership, where a group of users can create their own isolated instance and control its sharing and lifetime themselves.
what i'm looking for is not so much low-code, but a collaborative grid component that i can use as a primary user interface, either to drop into my app (if sufficiently modular) or build the rest of my app around (if sufficiently extensible). i am just a bit astonished that no one else, open source or otherwise, seems to have had the same need.
What I'd like to see is something that can connect to a pg server (or sqlite, or mariadb, but I think settling on one is more feasible) and tries to surface as much as possible of the underlying data representation, and add features that are translatable to how pg works, instead of just using pg (and in grist's case, sqlite) as a dumb backend.
Disclaimer: I also mentioned Mathesar in a sibling comment but this describes our vision so exactly that I thought it was worth mentioning again.
I want it to work the other way around: a spreadsheet with more databasy features I can choose to use:
In the same way that the chart wizard can do a good job of spotting the “table” of data that the current cell is in, the spreadsheet could auto-detect natural tables and make it easy to create and manage named ranges etc. And then allow formulas to offer better ergonomics than vlookup etc and even allow sql etc?
Things like allowing column widths to change for different rows in the same column etc would also be awesome. And offering an insert-column that automatically only inserts for the current table etc.