# 认识协同表格：基础使用篇

# 用惯了Excel，试试协同表格

提到电子表格，大家第一反应一般都会是经典的 Excel。望着随处可见的`.xls`、`.xlsx`文件，如果让你来做一张本学期的成绩表格，你或许是这样设计的：

打开 Excel，新建一个空白表，第一行敲上“表头”（给每列取一个标题），然后第二行开始逐条填写编辑。

[![一个典型的 Excel 表格](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624194380623.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624194380623.png)

没错，一个典型的表格最基本的要素就出现了——**表头（列标题）、行**。列的字母和行的数字一同确定了一个“单元格”的位置。

但我们想要组织更多的表格，比如说，上学期的成绩表格呢？

你可以分为两个文件，做出`本学期成绩.xlsx`和`上学期成绩.xlsx`两个**工作簿**（Workbook）；也可以在当前的表格下面另起一行写新的表格，就像在一张纸上自由书写。但熟悉 Excel 的朋友一定会第一个想到，我建一张新的**工作表**（Sheet）不就可以了吗？

是的，你可以新建一个工作表，存放在同一个工作簿中：

[![新建工作表](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624194686910.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624194686910.png)

现在，你拥有了一个名为`成绩.xlsx`的工作簿，里面有“本学期成绩”和“上学期成绩”两张工作表。当你想要跟别人描述你的成绩时，你就可以说：“在名为`成绩.xlsx`的工作簿的‘本学期成绩’的工作表的C列2行是我的微积分成绩”。这便是熟悉的 Excel 的结构了。

而在协同表格中，最基本的概念也是[如此类似](https://seatable.github.io/seatable-scripts-cn/)：

> 在 SeaTable 中，一个表格英文叫做一个 base。一个 base 包括多个子表，一个子表英文叫做一个 table。一个 table 中包含多个行和列。一个行包含多个字段。

在协同表格里，没有了本地的“文件”，但你的"工作区"（Workspace）内有一个个表格项目，它们被称为“Base”（好的翻译会降低理解的难度，官方未提供中文解释，这里我们不妨叫他“表库”）：

[![工作区内的“Base”](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624195767796.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624195767796.png)

当你打开一个“表库”，又可以在左上角的“+”号添加“表”，它们被称为“子表”（“Table”）。

[![一个“Base”中的“Table”](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624195928693.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624195928693.png)

但不一样的是，这里有一个叫“视图”（View）的设置，它可以将你的表格过滤、排序、分组、隐藏等结果保留为一个视图而**不影响表内的原始数据**；

[![每个“Table”可以切换多个“View”](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196160685.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196160685.png)

还有一个不一样的地方是，Excel 的单元格可以设置格式如日期、货币、时间等：

[![Excel 的格式设置](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196504693.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196504693.png)

但在协同表格内，**只可以每一列指定规定的列类型，其对应着不同的设置与功能**：

[![协同表格支持的列类型](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196721832.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624196721832.png)

> 不恰当地说：若 Excel 是一个二维数组，数组元素可以是任何类型；那么协同表格里，这就是一个一维结构体数组。

这样的结构看似比 Excel 受限，却规范了数据的格式，从而为后续的许多功能留下了巨大的想象空间。事实上，拿 Excel 来与之对比是不太合适的，协同表格真正类似的 MS Office 产品，应当是 Microsoft Access。

[![你可能高中考完计算机就没碰过它的 Access](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650869750494.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650869750494.png)

总结一下几个名称：

|英文|中文|解释|
|-|-|-|
|Workspace|工作区|登录`table.nju.edu.cn`，映入眼帘的“我的表格”和你所在的群组|
|Base|表库<br>（非官方翻译）|在“工作区”中的一个**总“表格”**|
|Table|子表|在“表库”中并列的多个**子表格**|
|View|视图|一个子表在特定过滤、排序、分组、隐藏、高亮等设置下的展现结果，展示一个子表部分或全部的数据|

下面，让我们进一步深入协同表格 SeaTable 的世界。

# 协同表格界面简介

从电脑登录`table.nju.edu.cn`后，你会看见协同表格的工作区：

[![协同表格工作区](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969320207.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969320207.png)

其他复杂的功能暂且不介绍。点击 **“添加表格或文件夹”**，“新建空白表”，并点击进入新创建的表格，你可以看见打开了全新的表格是这样的界面：

[![空白表](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969217626.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969217626.png)

这一张表内，可以点击的地方非常多，但你只需要着重知道四点：

+ “+”号，意味着可以新建、创建
+ “…”或“▼”号，意味着展开还有更多设置
+ 鼠标移动悬停时，可能有一些隐藏的入口
+ 基本只有单元格可以右键弹出菜单（见下文关于行操作的内容）

如果你想快速了解协同表格，在第一次使用协同表格的时候，不要着急，强烈建议随处点点这些地方。

# 协同表格的基本使用

## 鼠标，慢一点

在协同表格中，很多地方是平时隐藏起来，鼠标“路过”才显示的。比如说：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650956269574.gif)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650956269574.gif)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650956376548.gif)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650956376548.gif)

忽略这些地方，可能会给你带来很多困扰。

## 行与列

### 新增、插入、删除行列

在使用方式上，我们也可以让 Excel 用户在使用协同表格时更加熟悉。

传统的 Excel 中，新建一张空白工作簿里面会将所有的行、列给你预先创建，用户写到哪，表格就用到哪一行哪一列，多余的一般都被忽略：

[![新建 Excel 表格](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624966898078.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624966898078.png)

而在协同表格中，你打开一个新的表格，可能会看见仅有几行空白行，且只有一列：

[![新建协同表格](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624967937456.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624967937456.png)

如果你需要增加行或列，你需要在行列处点击对应的“+”号来创建。

协同表格的每一行可能看起来都是“空白的”，但事实上它**每一行的行为（比如被谁创建、何时创建，最后一次被谁修改、何时修改）都会被保留在这行内作为隐藏的信息**，只在特殊的列类型内会显示。

如果你习惯了在 Excel 内敲回车（`Enter`）键来换行，你可以在右上角的**设置-快捷键设置**内

[![设置-快捷键设置](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968266969.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968266969.png)

将回车键的行为修改为 **“在末尾插入行”**。

[![修改回车键的行为](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968325353.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968325353.png)

同样常用的插入、删除行的功能，都藏在右键菜单里，需要你右键单击单元格：

[![右键单元格，常用行操作](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968528811.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968528811.png)

那么列操作在哪里？和 Excel 不同的是，协同表格的列操作藏在每一列标题的“▼”弹出菜单内。

[![列标题右侧“▼”的弹出菜单](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968630601.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624968630601.png)

### 列的类型

有的朋友可能知道，在 Excel 中表格比较特殊的是写了标题的第一行。在协同表格中，第一行直接开始增添数据，而**标题行就直接对应于每一列的标题**，不需要额外索引（他们自己就是“列索引”）。

> 如果你使用过 Python 里的 pandas 库，应该明白这里直接把标题行作为列索引的便捷之处，它们非常类似。

### 特殊列：第一列

协同表格中比较特殊的是**第一列**。官方说明“第一列是用于标识行的特殊列，不能隐藏或移动。表格很长时，可以将其冻结”，因此第一列一般是一些用于标记这一行的信息。

第一列可选的列类型与其他列不一样，仅限“文本”、“数字”、“日期”、“自动序号”四类设定。

[![第一列可选列类型](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969100173.png)](https://doc.nju.edu.cn/uploads/images/gallery/2021-06/scaled-1680-/image-1624969100173.png)