控制台电子表格

2020-11-28 00:22:45

我不是一个繁重的电子表格用户,只是跟踪支出,家庭库存,投资之类的事情。我主要只是使用Google表格。

但是,如果可以的话,我真的更喜欢留在航站楼,所以决定复习一些选项。我唯一的要求是它可以在终端中运行并且可以在Linux上运行,但是如果可以扩展(脚本,宏,插件等),则可以加分。

我已经测试了两个F / OSS和两个商业控制台电子表格。这是一个很大的警告,您可能会惊讶地发现,对控制台生产力软件的需求并不大(哈哈)。这意味着这些程序已经很长一段时间没有得到积极开发,但是它们曾经非常受欢迎。

他们的用户群现在可能已经不存在了,但是他们都仍然成熟,稳定并且可以运行。

sc是James Gosling编写的经典UNIX电子表格。它是公共领域,在大多数Linux发行版中都可用。

关于sc的最有趣的事情可能是电子表格被保存为命令序列,而.sc文件是人类可读的脚本。这是一个示例,如果我从上面的屏幕快照中转储了保存的文件,则可以看到它看起来像是一种脚本语言:

$ cat test.sc#此数据文件是由电子表格计算器生成的。#您几乎肯定不应该对其进行编辑。rightstringB0 =“成本” rightstring C0 =“计数” rightstring D0 =“总计” rightstring A1 =“螺丝”令B1 = 0.02let C1 = 23let D1 = B1 * C1rightstring A2 =“板” let B2 = 0.44let C2 = 8let D2 = B2 * C2label D3 =“ ------------” let D4 = @sum(D0:D2)转到D6 A0

当您四处走动并按下快捷键时,您不必直接输入这些命令,sc会为您填充命令条目-您只需添加选项和参数即可。我在这里找到了关于使用sc的特别好的介绍。事实证明,sc无法导入数据,因此我不得不编写一个快速脚本来做到这一点-但是,一旦将数据导入到sc中,所有的标准电子表格功能都已存在。

公式,单元格引用和范围的语法都很熟悉。使用范围时,可以在交互式可视模式下选择它们,然后命名它们以在公式中使用。

就是说,虽然公式语法,单元格引用/范围(例如C3,$ A $ 1:B2等)和基本导航都很熟悉,但列表到此为止。

您将需要阅读文档以进行比编辑单元格更高级的操作。这些命令通常很有意义,但是不会提示您输入任何参数,因此必须记住文档中需要的选项,然后才能进入命令编辑模式。祝您一切顺利。

sc确实支持宏,因此您可以为常用选项创建宏(宏本质上只是sc命令脚本),甚至可以将其绑定到功能键。

您无法重新绑定标准的移动或导航键,但是大多数功能都是通过命令访问的,并且可以定义自己的功能。

我真的不认为我可以定期使用sc,似乎花了很多时间来掌握基本的工作表操作,而且我只是没有使用足够的电子表格来证明这一点。

但是,希望并没有失去。界面经过重新设计以使Vim用户熟悉它,这是一个sc分支。 Sc-im还添加了急需的功能,例如撤消/重做,可重新绑定的密钥以及从xls和csv文件导入。

对我来说,主要的吸引力在于,我无需进行查找就能猜测如何进行某些操作,因为绑定和命令都是受Vim启发的。诸如视觉模式,拉动和粘贴,搜索,撤消和重做,甚至:wq!之类的事情!正常工作。

在上面的演示中,您可以看到我使用可视模式选择一列,将其拉出并粘贴到其他位置,然后调整宽度。您还可以使用gnuplot生成简单的ASCII图。为了在屏幕截图中生成图形,我使用了v进入可视模式,四处移动以选择数据,然后使用:plot bar。

一个特别受欢迎的功能是格式设置选项,标题可以为粗体,负值可以为红色,依此类推。这使阅读大量数字变得更加容易。

原始的GNU电子表格。我必须修复一些bitrot才能使其在现代系统上进行编译。该代码大部分编写得很好,只是一些过时的C语法。

Oleo默认使用r1c1单元格引用。我唯一了解r1c1的原因是因为我看到Joel Spolsky的一个有趣的谈话,他说别的都是“婴儿模式”😂。

值得一听的演讲,他所说的大部分内容都适用于任何电子表格。不过,无论是否使用婴儿模式,如果您不习惯它,都会感觉很陌生,因此很幸运,您可以将其禁用。我想我很荣幸成为电子表格的宝贝! 👶

在对sc-im导航感到熟悉的地方,Oleo的设计显然是针对Emacs用户的。例如,禁用r1c1模式需要M-x设置选项a0。尽管如此,绑定仍可以使用键映射和宏进行配置,因此您可以对其进行调整。

有内置的图形显示功能,但是默认情况下它使用xterm的tektronix模式-除了真正的xterm,我认为没有其他终端支持该功能。如果您不使用xterm,Oleo可以保存可以在外部查看的图像文件。虽然有一种简单的单元内条形图格式。

工作表可以自动更新,因此您可以制作一个实时的仪表板来提取股票价格或其他数据。我认为这是令人惊讶的独特之处,我测试过的其他电子表格只有在进行更改时才会重新计算。 Oleo有一个称为刻度的选项,可让您指定自动更新频率。

这是一个愚蠢的演示,它使用随机数进行更新,但是我可以想象如何制作一个可以为仪表板获取实时数据的电子表格。

据我所知,Oleo缺少一些主要功能,无法对范围进行排序,并且格式选项非常有限。也就是说,实现的功能非常完善。

原始的IBM PC杀手级应用程序,在80年代和90年代拥有数百万的活跃用户。

我能够在eBay上找到带有原包装的包装盒,售价约20美元,然后将其安装在Linux上的DOSEMU2下。结合使用古老的软件进行仿真不会吸引所有人,但我很喜欢。 DOSEMU2让旧的DOS软件访问文件系统,像运行DOS命令一样运行主机命令,并使它们与本机ncurses应用程序看起来没有区别。

注意:1-2-3可从著名的历史软件档案(例如Internet档案和WinWorld)中获得。原始副本可在eBay上以$ 5- $ 20的价格视情况而定。我花了一点钱才能得到带有印刷手册的盒装副本。

尽管UNIX电子表格都具有裸露的界面,但是MS-DOS替代品具有非常出色的可用性。 1-2-3提供了上下文相关的帮助,其中包含详细的示例,菜单和对话框以设置复杂的功能。如果公式或命令产生错误,按F1通常会为您提供有关错误的详细说明,建议原因和解决方案。

如果您以前使用过任何电子表格,则实际上并不需要阅读任何文档即可开始使用。也许您唯一需要知道的是使用/键激活了1-2-3菜单。有趣的是,该菜单是90年代一次重大诉讼的主题。

我不介意学习常用命令,但是如果我偶尔只需要一些命令,我​​知道我每次都需要查找语法时就不会打扰它。这是一个很好的示例,sc和Oleo都支持列冻结(在列中浏览时始终使列可见,因此您始终可以看到标题)。我可以没有它,但是在1-2-3中很容易找到它,根本就不费力。

1-2-3可以从CSV和其他一些格式导入,但有严重的局限性:行不能超过512个字符,这对我来说似乎太小了。但是,工作表可以包含数千个列,因此我想您只需要一次将几个列导入一个较大的CSV数据集。

格式设置选项很多,但实际上很少以文本模式显示。例如,您可以将标签设置为粗体,但是除非您将其打印或切换到图形模式,否则它看起来不会是粗体。但是,有些选项可以工作,例如将负值设置为红色。

您可以创建图形并为其命名(例如EXPENSES),然后以交互方式将单元格范围分配给轴。有对话框和菜单可帮助选择显示选项,图形类型(例如,条形/饼形/线形),颜色等内容。该过程很容易,通常只需遵循提示即可。

您可以将图形插入到工作表中,但只能插入一个占位符-如果要查看它,则需要将其发送到打印机或保存到文件中。这实际上在DOSEMU2中很好用,我可以按一个键,然后在浏览器中打开图形。

为了查看宏的工作原理,我尝试使用股票价格自动更新电子表格,因此无需手动输入。对于DOSEMU来说,这并不太困难,首先,我创建了一个快速的shell脚本来将股票价格打印到标准输出。

因此,示例1-2-3宏将如下所示,其中C1是我要存储结果的单元格。

在屏幕快照中,您可以看到我将此宏称为{GETSTOCKS},并且将其配置为在打开文件时自动运行。请注意,如果您不希望宏过于混乱,则可以将其隐藏。

我认为这工作得很好,谁会认为30岁的MS-DOS废弃软件可以使用JSON API😂

我想我要使用Quattro Pro。我是一个足够大的书呆子,宁愿喜欢使用复古软件,而且毫无疑问,它是我测试过的最精致的控制台电子表格。

我真的很喜欢sc-im,很高兴它存在。我认为作为vim用户,我在基本操作方面可能会非常有效。就是说,我认为有些功能很喜欢,但我不会使用,因为我必须每次都要查找如何使用它们。 Quattro Pro具有足够的可访问性,当我需要使用不熟悉的功能时,可以在菜单中四处浏览。

也许我会在3个月内根据自己的经验来更新本文,并描述遇到的任何限制...或者是否放弃并改用其他东西。 😅

在尝试所有这些程序时,我使用了真实的数据和公式,但是不想使用我的实际信用卡对帐单的屏幕截图😂。图片中的测试数据是根据我最近喜欢的游戏(令人满意)生成的。