27

I am looking for something like Sublime Text for tables. That is, when it encounters something with table delimited values (for example), the columns should be displayed aligned.

Excel, Calligra Sheets or LibreOffice Calc are too heavy for me, I want simpler, lighter, faster and free alternatives.

Update: The suggestions so far include spreadsheet programs that are able to do plotting and calculations. This is fine, but is also kind of overkill for me. I just need to edit the table, and aligned display. In fact, if Sublime Text (or any text editor, like Gedit, Geany) had a plugin that displayed columns aligned, that would be enough (perfect) for me.

1
  • 2
    For a comparison of the four main alternatives see the table in this German article, e.g. RAM usage in the third row.
    – dessert
    Sep 22, 2017 at 11:11

11 Answers 11

25

I can recommend Gnumeric.
Gnumeric is an open-source spreadsheet program. Gnumeric is...

  • Free: Gnumeric and its source code are available free of charge, licensed under the terms of the GNU General Public License version 2 or version 3.
  • Fast: Gnumeric starts up quickly and handles large spreadsheets while remaining responsive.
  • Accurate: A spreadsheet should calculate the right answer. Gnumeric's built-in functions and tools are accurate, as several researchers have found.

To install:

sudo apt update 
sudo apt install gnumeric

Gnumeric

Gnumeric screenshot with scatter plot

6
  • This does not support CSV files.
    – smcs
    Nov 20, 2020 at 13:11
  • 1
    @smcs, look at this: stackoverflow.com/questions/31723185/…
    – Olimjon
    Nov 23, 2020 at 7:44
  • 1
    Thanks! I count that as half-support. What I want is double click on the file -> done. The import dialoge drives you crazy after a while. "Modern CSV" seems good for that.
    – smcs
    Nov 23, 2020 at 13:09
  • Good tool and runs ok with massive (15MB+) csv files, unlike excel and libre calc. I agree it is lacking proper double-click-to-open csv support. Its possible to double click CSV but it uses default import settings which are often wrong. I think all it needs is a settings dialog when double clicking a file or a way to change the default import settings. Apr 16, 2021 at 4:14
  • 1
    Gnumeric and Calc have pretty frumpy handling of csv and tsv files.
    – markling
    Sep 8, 2021 at 11:15
14

pyspread

python FTW pyspread screenshot

Description from pyspread‘s homepage

Pyspread is a non-traditional spreadsheet application that is based on and written in the programming language Python.

The goal of pyspread is to be the most pythonic spreadsheet.

Pyspread expects Python expressions in its grid cells, which makes a spreadsheet specific language obsolete. Each cell returns a Python object that can be accessed from other cells. These objects can represent anything including lists or matrices.

Pyspread is free software. It is released under the GPL v3. You can find the sorce code at github.

Installation

sudo apt install pyspread
4
  • Will it read ordinary text files (tab separated, csv, etc.)?
    – a06e
    Sep 22, 2017 at 12:21
  • 1
    @becko Just tried successfully, you need to choose File → Import to open those, works like a charm. You can even choose the delimiter sign(s) to use like in LibreOffice.
    – dessert
    Sep 22, 2017 at 12:28
  • 1
    It is unable to open csv format it supports its own pyspread aka. .pys format. Nov 1, 2021 at 10:21
  • I also confirm it is unable to open CSVs: with a very small CSV it takes a while trying to open it, until I cancel it.
    – xCovelus
    Dec 3, 2022 at 11:11
12

If you are a user of (or at least familiar with) emacs (or vim), there is org-mode, which contain a simple integrated editor for tables. However, it needs the tables to be in a specific format, where columns are separated by vertical bars (i.e. the pipe symbol '|').

You can also do simple calculations, and the integration into the editor allows you to use the sophisticated editing facilities of emacs/vim.

emacs org-mode table example

Documentation can be found on the org-mode site, and a small introduction on youtube.

6
  • The required | is a deal breaker for me. I usually work with tab separated text files.
    – a06e
    Sep 22, 2017 at 16:35
  • @becko Simply use it like so: sed 's/<TAB>/|/g' filename | emacs | sed 's/|/<TAB>/g' > filename You could even define a function emacs out of it and it will be as if | is only the way emacs represents your tab delimiters.
    – dessert
    Sep 22, 2017 at 17:11
  • @dessert If the file has | originally, this command will replace them with tabs when I close emacs.
    – a06e
    Sep 22, 2017 at 18:07
  • @becko Well then simply let the function (or a script) check for that.
    – dessert
    Sep 22, 2017 at 18:30
  • 2
    @MarkYisri I have no idea how to do that.
    – a06e
    Sep 23, 2017 at 12:41
10

VIM Table Mode

VIM Table Mode screenshot

Description from github repo page

An awesome automatic table creator & formatter allowing one to create neat tables as you type. The plugin is also able to format existing content into a table which makes it possible to work with csv or other text files. To get an idea of its features there's a youtube demonstration video.

Installation

See github repo page.

6

MacroCALC

Did you say lightweight? MacroCALC screenshot

Description from MacroCALC‘s homepage

MacroCALC - "mc" or "321" is a powerful Lotus compatible character based spreadsheet that supports 100000 rows, 700 columns, 40 functions, 8 display formats, file linking, macro programming and user definable functions.

It is a curses-based console-program and needs no graphical environment.

It is fully integrated with [nt]roff, units, man, awk, perl and sh. As it should be in the UNIX environment, the program can act as a filter enabling users to use pipes to perform complex transformations on data streams. It contains a C programming interface as well as Lotus WKS and dBASE file support. MacroCALC‘s own file-format is flat ASCII, easy to understand and can therefore be directly manipulated with awk, perl or other standard UNIX tools, or even with editors like vi.

Furthermore MacroCALC is able to manage units: Like a scientist the program is aware of the rules for calculating units; so for instance if a "length" is divided a "time" it will show a "speed" result, and a "length" cannot be added to a "mass".

Installation

See MacroCALC‘s homepage for installation instructions. Tested on Lubuntu 16.04.

5
  • Interesting, but how old?
    – RonJohn
    Sep 23, 2017 at 19:03
  • @RonJohn The website says “Last revised: 12. August 2013”. Why does that matter?
    – dessert
    Sep 23, 2017 at 19:24
  • yes, the website. But what about macrocalc? (I ask to see whether it's bitrot-ware, too old for modern compiler versions. See the answer regarding Siag Office: "may not be installable in current Ubuntu releases".)
    – RonJohn
    Sep 23, 2017 at 19:28
  • @RonJohn “Tested on Lubuntu 16.04” means I successfully installed it on my Lubuntu 16.04 system and quickly tested the functionality, so yes, I'm positive it's not too old for an up-to-date compiler. As the installation of SIAG failed on my system, I added this comment there. Did you read the answers completely?
    – dessert
    Sep 23, 2017 at 19:34
  • How could I have missed that... three times? :sadcat:
    – RonJohn
    Sep 23, 2017 at 22:45
4

Siag (Scheme In A Grid) Office

great piece of software, but may not be installable in current Ubuntu releases enter image description here

Description from Siag‘s Homepage and Wikipedia

Siag Office is a tightly integrated free office package. It is known to be extremely light-weight, hence able to run on very old systems reasonably well, such as on i486 computers with 16MB RAM. Because it is kept light-weight, the software lacks many of the features of major office suites, like LibreOffice, Calligra Suite, or Microsoft Office. Siag Office is distributed under the terms of the GNU General Public License and included in Damn Small Linux, a lightweight Linux distribution.

Also see this article.

Installation

Siag needs to be compiled from source Download and compile these libraries :-

neXtaw http://siag.nu/pub/neXtaw/neXtaw-0.15.1.tar.gz Mowitz http://siag.nu/pub/mowitz/Mowitz-0.3.1.tar.gz

After extract each library issue these command inside each one directory .

./config 
make 
sudo make install 

Download latest source code and follow above steps .

after other libraries (libgd2-xpm-dev libxmu-dev xaw3dg-dev and the ones mentioned here) were installed first, unfortunately wasn't able to compile it on Lubuntu 16.04, but I may not have tried hard enough. See this article for more detailed installation instructions.

5
  • This looks like 1995 and when you look at the dates of the changelog it is almost like that. Last update from 2006 and the one before from 2003... how can you say this is WIP ?
    – pLumo
    Sep 22, 2017 at 12:14
  • 2
    @RoVo Btw, for lightweight software what it looks like is not important whatsoever.
    – dessert
    Sep 22, 2017 at 12:25
  • Aaah, Your answer is WIP, I thought that was related to the Software. Then it makes sense ;-)
    – pLumo
    Sep 22, 2017 at 13:08
  • If it will not connect to the internet or open files that come from the internet it will be okay to use software that is not maintained and just working. Otherwise I would not use it.
    – pLumo
    Sep 22, 2017 at 13:09
  • That's a blast from the past!! :)
    – RonJohn
    Sep 23, 2017 at 18:58
2

Sublime Table Editor

Who needs a new program when Sublime can perform the task? Sublime Table Editor screenshot cropped

Description from github repo page

Table Editor is a package for the Sublime Text 2 and Sublime Text 3 editor for edit text tables. Table Editor is has almost the same keys as Emacs-org mode table editor. To get an idea of the features there's a helpful article and these two videos: video 1 video 2

Judging from what the github page says Sublime Table Editor is not supported any more, however the software may still be working. I didn't test it on my system though.

Installation

See github repo page.

1
  • I'm moving to Atom. Do you know if it exist somthing similar for Atom?
    – jqueralt
    Oct 3, 2017 at 11:37
2

You can try Atom code editor with tablr or table-editor package.

Download .deb file of Atom from its website. Then install it either by using GDebi Package Installer or by running following commands in terminal (one by one):

sudo dpkg -i /path/to/deb/file
sudo apt-get install -f

Then install tablr or table-editor package in Atom either by using in-built package installer (which is Install tab inside Settings View) inside Atom or by running the following commands respectively :-

apm install tablr
apm install table-editor
2

I would recommend sc-im, which stands for spreadsheet calculator improved. It is currently available on Github only.

It is actively developed and lean.

Features from the Github description:


Some of the features of SC-IM

  • UNDO / REDO.
  • 65.536 rows and 702 columns supported. (The number of rows can be expanded to 1.048.576 if wished).
  • CSV / TAB delimited / XLSX file import and export.
  • Scripting support with LUA. Also with triggers and c dynamic linked modules.
  • Clipboard support.
  • GNUPlot interaction.
  • Key-mappings.
  • Sort of rows.
  • Filter of rows.
  • Subtotals.
  • Cell shifting.
  • 256 color support - screen colors can be customized by user, even at runtime.
  • Colorize cells or give them format such as bold or underline.
  • Wide character support. The following alphabets are supported: English, Spanish, French, Italian, German, Portuguese, Russian, Ukrainian, Greek, Turkish, Czech, Japanese, Chinese.
  • Autobackup.
  • Implement external functions in the language you prefer and use them in SC-IM.
  • Use SC-IM as a non-interactive calculator, reading its input from a external script.
  • More movements commands implemented !
  • Input and Output was completely rewritten.

About the name, the idea is that the program can be identified as another vim-like app. SC-IM stands for Spreadsheet Calculator Improvised. :-)


So commands and workflow are familiar if you have experience with vi or vim.

Some screenshots:

Screenshot #1

Workflow SC-IM #1 Workflow SC-IM #2 Workflow SC-IM #3

For installation, build-essential, ml-yacc, bison and the libraries libncurses5-dev and libncurses5w-dev are needed. Just run make, sudo make install in the src directory of sc-im after cloning from github.

2

Setting elastic tab stop in jEdit looks good to me:

http://www.jedit.org/users-guide/indent.html

This feature makes the tab stop expand to the lines above and below. I think this might only work with tabs but you could use replacement to replace your delimiter with a tab and then undo the replacement later.

1

I think that Visidata is a great tool for your goal https://www.visidata.org/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.