[HN Gopher] Sheets: Terminal based spreadsheet tool
       ___________________________________________________________________
        
       Sheets: Terminal based spreadsheet tool
        
       Author : _____k
       Score  : 179 points
       Date   : 2026-04-04 06:34 UTC (2 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | gigatexal wrote:
       | Vim bindings I'm in!
        
         | opengears wrote:
         | +1
        
         | qiine wrote:
         | I have been trying https://github.com/hat0uma/csvview.nvim
         | 
         | Its rather neat.
        
       | lateforwork wrote:
       | All spreadsheets used to run in your terminal, in the old days.
       | You can still download one here and I wouldn't be surprised if it
       | still works: https://winworldpc.com/product/quattro-pro/4x
        
         | tibbon wrote:
         | Right? Visicalc wasn't using anything that a terminal didn't
         | offer.
        
         | jnpnj wrote:
         | there are some videos about quattro in those days and i was
         | sincerely surprised how featured and advanced it was
         | 
         | the ratio of space / cpu / capabilities (beside the network
         | part) is something that reaches deep in my brain
        
         | captn3m0 wrote:
         | You can run Lotus 1-2-3 for Unix in modern Linux :
         | https://github.com/taviso/123elf
        
           | codethief wrote:
           | What a great name :) ("elf" = 11 in German)
        
             | chrisweekly wrote:
             | what's the relevance of 11 in this context?
        
           | alexpotato wrote:
           | Lotus 1-2-3 was the first spreadsheet I ever used around age
           | 9 so this is really bringing me back!
        
             | julcol wrote:
             | I am shy to admit I used visicalc on an HP-85.....1980 ???
             | maybe...I learned the periodic table with a basic program I
             | made on that piece of art.
        
         | prideout wrote:
         | Yes! My first encounter with spreadsheets was SuperCalc for
         | CP/M, and I suppose you would call it a "TUI" nowadays.
        
       | halosghost wrote:
       | See also, one of the older / more-robust entrants in this space
       | [0], and one of the more innovative (still from a hot-second ago
       | now...) [1].
       | 
       | All the best,
       | 
       | 0. https://github.com/andmarti1424/sc-im
       | 
       | 1. https://www.syntax-k.de/projekte/teapot/
        
         | somat wrote:
         | Teapot is pretty great, it's too bad there is close to zero
         | room for real innovation in the spreadsheet domain. For the
         | most part if it's not spreadsheeting how prophet Dan Bricklin
         | envisioned, people don't want it.
         | 
         | See also: lotus improv
         | 
         | Actually... on that note I realized have never tried lotus
         | improv.
         | 
         | I found a copy of the win3.1 version here.
         | https://archive.org/details/lotus-improv-2.0-for-windows-2.0...
         | 
         | But my plan is to go for the full nerd experiance and see if I
         | can get the nextstep version to work.
         | https://winworldpc.com/download/7c521434-e280-a0e2-82ac-11c3...
         | 
         | Which will require a NeXT machine emulator
         | https://previous.nextcommunity.net/
         | 
         | Wish me luck.
        
           | einr wrote:
           | The easy way to accomplish this is to just launch a NeXTstep
           | box in your browser from https://infinitemac.org/
           | 
           | I don't know if they have Improv pre-installed, but it will
           | let you mount disk images from your computer.
           | 
           | (Personally I find the easy way too easy, so I have
           | NeXT^WOpenSTEP installed on bare metal on a 5x86 box. But
           | that's me)
        
           | mhd wrote:
           | > Teapot is pretty great, it's too bad there is close to zero
           | room for real innovation in the spreadsheet domain.
           | 
           | One issue is that this is hard to do while still retaining
           | backwards compatibility. Lotus Improv basically gave you no
           | other choice, something that Excel The Next Version can't do.
           | And I doubt that we're getting a third MS app, no Multiplan
           | -> Excel -> NewSpreadsheetThingProbablyCalledCopilotAnyway.
           | 
           | I know a lot of people that don't even use Excel's _tables_ ,
           | introduced almost 20 years ago. But instead they
           | painstakingly recreate most of its built-in features. It's
           | just an easy shortcut away, and has plenty of GUI support
           | hidden in the ribbon morass, but it's not the default
           | state...
        
         | 0_gravitas wrote:
         | Oh man, I played with teapot once a long while ago, but
         | couldn't figure out how to parse values from XDR files in
         | $LANG, or export some given sheet into CSV or other format-
         | which sadly put a stop to my experimentation. Super interesting
         | otherwise, and wish it had more eyes.
        
       | deathanatos wrote:
       | You might say ... it's As Easy As[2] 1-2-3?[1]
       | 
       | [1]: https://en.wikipedia.org/wiki/Lotus_1-2-3
       | 
       | [2]: https://en.wikipedia.org/wiki/As-Easy-As
       | 
       | What's old is new again.
        
         | drob518 wrote:
         | Exactly. I immediately thought, "So, we've invented VisiCalc
         | all over again."
        
           | freedomben wrote:
           | TBF, VisiCalc is not open source, and this is relatively
           | fresh start, so I don't think it's fair to compare this to a
           | reinvention.
        
             | drob518 wrote:
             | Isn't that what reinvention means?
        
               | freedomben wrote:
               | I suppose that's fair, and I concede, though I think you
               | can play with the definition enough to make anything
               | spreadsheet (even GUIs and webapps) be "reinvention" of
               | visicalc, so I think the term is actually pretty
               | meaningless.
        
               | drob518 wrote:
               | My point was, it's a spreadsheet in a term window. That's
               | basically what VisiCalc was in the 80s.
        
               | freedomben wrote:
               | Appreciate the clarification, and sorry, I wasn't trying
               | to be a pedantic pain in the ass :-)
        
               | drob518 wrote:
               | No worries; all good.
        
       | jnpnj wrote:
       | pretty cool, most of the time I don't want to spin emacs org-
       | table nor google sheets for a quick table
        
         | maaslalani wrote:
         | Agreed!
        
       | blippage wrote:
       | Visidata is a fast popular data tool in python
       | https://www.visidata.org/ if you just want data entry.
       | 
       | If I may be permitted a small plug ...
       | 
       | Oleo is a GNU spreadsheet going back absolutely donkey years. I
       | cloned the repo here: https://github.com/blippy/oleo and made
       | minimalist fixes to get the thing to compile.
       | 
       | I also based my own terminal-based spreadsheet based off of it
       | call neoleo: https://github.com/blippy/neoleo
       | 
       | I wouldn't say that my project is particularly good, but it does
       | have a number of features that I find useful. The next release
       | will include Tcl bindings, so you can customise some of the
       | workings of the app. There's also a module available where you
       | can go to town programmatically.
       | 
       | It opens up a world of possibilities, including stuff like pivot
       | tables.                 package require oleo       load-oleo
       | mysheet.oleo       set ws [toMat]       set subset [subRows $ws
       | [mand [mstreq 2 foo] [mstreq 3 bar]]
       | 
       | It has what I think is a nice little query language, too. In the
       | last line I select the rows from the spreadsheet sheet column 2
       | is equal to foo and column 3 is equal to bar.
       | 
       | I'm kinda dog-fooding it at the moment to put in place features
       | that I need. It doesn't have the full equivalence of SQL-
       | equivalent though.
        
         | izhak wrote:
         | vd (visidata) is amazing. The only tool that really works for
         | me with millions of rows csv's
        
           | chrisweekly wrote:
           | See also lnav (https://lnav.org), a mini-ETL CLI power tool.
        
         | guessbest wrote:
         | Thanks for showing this. What would you say the differences
         | between the classic version of oleo and your neoleo version?
        
           | blippage wrote:
           | Oleo is C, circa 50k of C code, Neo(-leo) is around 5k of C++
           | code. A 10th of the size, but not necessarily any less
           | powerful. Oleo has some memory leaks in places, whereas Neo
           | has no (known) leaks.
           | 
           | Oleo uses lex and yacc, whereas Neo has a hand-parser.
           | 
           | Oleo is in the style of emacs bindings, whereas Neo is more
           | vim-like, but without the modality.
           | 
           | I think the Neo code is better-structured and more readable
           | (but I would say that, wouldn't I? - although it is far from
           | perfect). C++ generally makes code more readable and obvious,
           | without all that pointer arithmetic.
           | 
           | The internals of Oleo are more complicated. It uses byte-code
           | for cells, for example. Neo stores a parse tree for a cell.
           | So you can see that a lot of programming effort is saved
           | right there.
           | 
           | In terms of speed, I suspect that the original Oleo is
           | faster, although it's difficult to benchmark.
           | 
           | Neo is also heading towards being a library that you can
           | compile in with other C++ code. Plus there's an interface to
           | Tcl, which Oleo never had. So you get a lot of extensibility
           | there which Oleo doesn't have.
           | 
           | I also think Neo is more generally accessible. It's got
           | something in the way of a menu (still early stages), which
           | helps. Neo is just generally less fiddly with editing cells,
           | IMO. The mouse works, too.
           | 
           | Oleo does have an interface using Motif. Very early-90s.
           | There's even an interface to GTk, although I don't think that
           | works properly. I decided to abandon all that and just stick
           | to an ncurses interface. After all, if you want a fancy
           | interface, there are proper options these days like
           | LibreCalc, Caliigra and Gnumeric.
        
             | blippage wrote:
             | To add to the cool things you can do with Neoleo, I wrote a
             | little TCL extension that loads current processes into the
             | spreadsheet. I added custom bindings so that you could
             | search for processes, go to its parent, and kill processes.
             | 
             | I'm also half-way to adding a little calendar extension,
             | too.
        
             | guestbest wrote:
             | Thanks for the extensive write up
        
         | Andrex wrote:
         | > Oleo is a GNU spreadsheet going back absolutely donkey years.
         | 
         | Third line of README:
         | 
         | > As of this writing (February 1999)
         | 
         | Whoah, you weren't kidding!
        
           | blippage wrote:
           | Yes, I'm partial to a bit of retro. It does back to around
           | 1991, IIRC. I don't think it had a curses interface in those
           | days.
           | 
           | And check this: version 1.2.2 is available on Aminet, for the
           | Amiga. How's that for a blast from the past?
        
         | m-hodges wrote:
         | VisiData is superb. It can work with website tabular data too;
         | great for scraping.1
         | 
         | 1 https://matthodges.com/posts/2025-09-30-visidata/
        
       | jmacc93 wrote:
       | Semi-related: I always wished there was something like the unholy
       | combination of a spreadsheet and notebook rolled into one. I
       | picture it notebook-like at the top level, then each cell is a
       | widget that the host language can reference parts of in other
       | cells (probably with a variable (eg: something like mathematicas
       | `Out[_]`) or a built in construct (like the `$ABC123` forms in
       | spreadsheet formulas)). A notebook interface would also be good
       | (I think) as a straight up terminal as well, as you (I) typically
       | want to run commands in an order like in a notebook
        
         | BirAdam wrote:
         | Some time ago, I remember Microsoft having made a video for a
         | "courier tablet" that was essentially an electronic notebook.
         | Either side of the spine was, by default, just plain "paper"
         | that could be drawn or written on. It had some kind of
         | intelligence to recognize stuff, so if you started drawing out
         | a grid it had basic capabilities that could be attached to that
         | grid, like spreadsheets.
         | 
         | At least, these are things I think I remember. It's not quite
         | what you're imagining, but it was cool and along the same
         | lines.
        
         | chrisweekly wrote:
         | I think that combination exists using Obsidian.md, via built-in
         | "Bases", or dataview / datacore plugins.
        
         | jasaldivara wrote:
         | Do you know TreeSheets[1]? It kind of sounds similar to your
         | notebook idea.
         | 
         | https://strlen.com/treesheets/
        
       | andy99 wrote:
       | If I'm remembering correctly, I had bought a Borland Turbo C++
       | compiler circa 1994 (for DOS) that came with a demo sheets
       | application you could build and run.
       | 
       | Does anyone remember this, I can't find it now.
        
       | ncr100 wrote:
       | Anybody ever bound a Google sheets to a CSV and provided a TUI
       | for that? I expect it would be slow.
       | 
       | Two-Way synchronizing of a text file version of Google sheets is
       | another way to think of it. Aside from that, there would also be
       | the need to implement the spreadsheets user interface of
       | highlighting and all that stuff, in the TUI side.
        
       | zaphar wrote:
       | This is cool. I built a similar thing for myself a while back:
       | https://github.com/zaphar/sheetsui
        
       | freedomben wrote:
       | To really be useful (to me at least and a handful of others I've
       | talked to) it has to have xlsx support or at least open document
       | format. If you're not sharing it with anyone then csv-only is
       | fine, but still very limited. This project is early days though
       | so shouldn't be judged for a while, but I would heavily suggest
       | not overlooking compatiblity support even though it's a nasty
       | boondoggle.
        
       | semiinfinitely wrote:
       | this is probably the thing being replaced in that excel elevator
       | demo commerical from microsoft in the 90s
        
       | nickjj wrote:
       | The functionality I miss from a GUI spreadsheet is this "simple"
       | case:
       | 
       | I have a spreadsheet with 186 rows and want to select a specific
       | cell's value from rows 6 and 127 and immediately know the sum if
       | it happens to be 2 digits. Most of the time it's from the same
       | column but not always.
       | 
       | With a GUI, this is really easy. CTRL + left click each cell and
       | get the answer in a second. Throw SHIFT into the mix if you want
       | a range of cells.
        
       | SoftTalker wrote:
       | To be clear, this is a TUI spreadsheet called "sheets" not a TUI
       | interface to Google Sheets spreadsheets. Unless I completely
       | missed something.
        
       | dang wrote:
       | Related ongoing thread:
       | 
       |  _Sc-im: Spreadsheets in your terminal_ -
       | https://news.ycombinator.com/item?id=47662658 - April 2026 (25
       | comments)
        
       ___________________________________________________________________
       (page generated 2026-04-06 23:01 UTC)