# 表格模板使用教程

一些表格模板的使用教程都在这里啦

# 核酸报告统计汇总表（含OCR截图识别）

由于学校疫情防控需要，为便利核酸报告收集工作，人工微结构科学与技术协同创新中心eScience中心与计算机科学与技术系的团队合作，依托中心的计算资源制作了**含截图识别**的表格模板系统。

表格包含功能有：

+ 表单收集苏康码内核酸截图，自动识别并关联人员信息
+ 计算指定时间段内核酸完成情况，包括完成率以及未完成名单

使用本模板，需要进行一些基本配置才能发挥完整功能。

## 一、使用模板

进入`table.nju.edu.cn`，访问**模板**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634608538.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634608538.png)

在**模板**内找到 **“健康-核酸报告统计汇总表（含OCR截图识别）”** 后开始使用。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634763322.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634763322.png)

## 二、表格配置

由于模板的限制，暂时自动化任务无法通过模板复制，而**自动化任务是整个模板的核心**。因此，**这一部分非常重要**。

### 第一步：导入人员名单

在表格使用前，需要预先准备一个以下格式的名单：

|学工号|姓名|
|-|-|
|100001|张三|
|……|……|

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640800784.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640800784.png)

在**人员信息汇总表**中，选择**从xlsx或csv中导入新数据**，然后选中符合格式的文件：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640554022.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640554022.png)

**注意！Excel表格需要把单元格格式全部改为文本类型，否则部分纯数字学工号会出现异常！**确认无误后导入。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650713983313.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650713983313.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640689294.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640689294.png)

导入后，应当是只有**学工号**和**姓名**列有信息，而且**没有多余空行**。

### 第二步：设置自动化任务

在表格右上角，更多 **“...”-自动化规则**，点击 **“增加规则”**

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640943945.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640943945.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640980912.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650640980912.png)

之后会进入具体自动化规则的设置页面。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641137940.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641137940.png)

这里需要同样的方法新建两个规则，具体设置见下：

#### ① 自动触发OCR识别

此自动化是为了当有人提交截图时，自动开始OCR识别。设置如下：

|项目|设置|
|-|-|
|规则名称|（随意）|
|表格|原始数据|
|视图|默认视图|
|触发条件|新增记录|
|操作|运行Python脚本|
|脚本|请求OCR识别核酸报告|

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641661111.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641661111.png)

#### ② 自动链接人员信息

此设置是为了有新的识别结果时，自动链接人员信息。设置如下：

|项目|设置|
|-|-|
|规则名称|（随意）|
|表格|已识别核酸记录|
|视图|默认视图|
|触发条件|新增记录|
|操作|添加链接|
|选择此表中的链接列|链接人员信息|
|列1|学工号|
|列2|学工号|

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650705217480.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650705217480.png)

### 第三步：发放表单（问卷）

点击右上方表单：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641811820.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641811820.png)

鼠标移至已有的表单处，**点击分享按钮**，将此链接分享给他人即可填写（为了获取身份，表单默认会要求登录）。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641862824.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641862824.png)

填写者的界面，学号姓名也会自动识别，**仅需上传一个截图**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650703510242.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650703510242.png)

特别需要注意，**如果发放对象为学生等在Table服务范围的用户**，姓名学号是可以自动识别的，但是需要编辑表单打开**仅登录用户**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650711442264.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650711442264.png)


## 三、子表设计功能介绍

模板中分为四个子表，每张表格都设计有具体功能。四张子表分别为：
+ **原始数据**：所有表单填写提交的数据均会提交到此处
+ **已识别核酸记录**：被图像识别处理后的数据（学工号、姓名、核酸检测时间）会自动生成在此处
+ **时间段分析汇总表**：根据选择时间段自动计算核酸报告完成情况（完成率、未完成名单）
+ **人员信息汇总表**：存放全部人员的信息（学工号、姓名）

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650635568518.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650635568518.png)

通过适当的自动化逻辑设计，我们可以让表格完成如下的流程：

1. 收集对象（如学生）填写表单，只需要提交一张苏康码内的核酸检测截图；截图提交后，会出现在 **“原始数据”** 子表
2. **“原始数据”** 子表检测到新增信息，**自动触发**OCR识别脚本，脚本识别是否和提交人一致，并识别出截图中含有的核酸检测信息，汇总在 **“已识别核酸记录”** 子表
3. **“已识别核酸记录”** 子表识别到新增信息，与 **“人员信息汇总表”** 中的人员信息匹配并建立双向链接；同时 **“人员信息汇总表”** 中会显示**最近一次核酸检测**的时间
4. 通过 **“时间段分析汇总表”** ，手动选择开始日期和结束日期，点击按钮便可自动计算该段时间内的核酸检测完成率，以及生成一个未完成人员的名单

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650639553746.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650639553746.png)

### 原始数据

#### 自动模式

原始数据表单一般不需要任何操作，自动化设置完毕后会自动处理，并且提供结果。

#### 手动模式

但是如果出现无法识别或识别失败的情况，**原始数据**内包含一个**重新识别**按钮，直接点击会调用脚本自动识别。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650703401670.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650703401670.png)

切换到**无法识别**视图，会将没有识别或识别失败的内容单独显示。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650704611113.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650704611113.png)


### 已识别核酸记录

#### 自动模式

这张表一般不需要操作，在**原始数据**内识别的结果，会自动添加到这里，并与**人员信息汇总表**的人员信息关联。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650704899323.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650704899323.png)

#### 手动模式

但是如果出现前面**原始数据**无法识别，需要手动在这一张表添加链接，并填写**姓名**、**链接学生信息**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650705384720.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650705384720.png)

然后在运行**工具栏-“...”-数据处理-匹配人员数据处理**，即可自动匹配手动新加的人员记录。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650705625354.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650705625354.png)

之后将人工介入处理的条目，直接将状态修改为**已人工处理**以标记处理完成。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650704424510.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650704424510.png)

### 时间段分析汇总表

这个页面仅支持手动模式，通过设置日期范围，点击计算完成情况会在后面自动生成结果。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650705922203.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650705922203.png)


### 人员信息汇总表

此表无需额外操作，仅仅用于查看相关人员最近一次的核酸时间。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650706021303.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650706021303.png)


## 鸣谢

校党委研工部

计算机科学与技术系研究生工作办公室

**技术支持**

IMAGINE Lab实验室、计算机软件研究所、自然语言处理研究组

**OCR模块开发**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

**模板设计**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

人工微结构科学与技术协同创新中心

**计算资源**

人工微结构科学与技术协同创新中心

---

如遇使用问题，欢迎加入**QQ群：2343870**。

相关推文👉[NJU计小妍：抗疫｜核酸检测自动核查系统出炉~](https://mp.weixin.qq.com/s/pBJIxu1TQyKYL-OZINusiQ)

NJU计小妍：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650706940140.jpg)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650706940140.jpg)

微结构eScience：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650707253321.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650707253321.png)

# 公共卫生教职工入校名单（OCR识别）

由于学校疫情防控需要，为便利教职工入校名单收集工作，人工微结构科学与技术协同创新中心eScience中心与计算机科学与技术系的团队合作，依托中心的计算资源制作了**含截图识别**的表格模板系统。

表格包含功能有：

+ 表单收集入校教职工信息和行程卡截图
+ 自动识别行程卡截图时间、手机号码、途径城市、是否带有星号

使用本模板，需要进行一些基本配置才能发挥完整功能。

## 使用模板

进入`table.nju.edu.cn`，访问**模板**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634608538.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650634608538.png)

在**模板**内找到 **“健康-公共卫生教职工入校名单（OCR识别）”** ，点击打开并使用模板。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-24-11-07-09.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-24-11-07-09.png)


## 表格配置

### 发放表单

针对教职工发放传统表单（问卷）可以收集行程码。点击右上方表单：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641811820.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650641811820.png)

鼠标移至已有的表单处，**点击编辑按钮**。
[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-24-11-12-53.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-24-11-12-53.png)

点击点开 **所在单位名称** 修改默认值为单位名称。
[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-24-11-16-40.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-24-11-16-40.png)

注：若教职工包含自管人员，访问权限请**不要开启**“仅登录用户”，应设置为 **“任何人”**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650781991144.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650781991144.png)

### 发放查询外部应用

在表格右上方的**插件-外部应用**内，添加外部应用，选择**数据查询**，名称可以设定为入校查询。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-25-09-05-18.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-25-09-05-18.png)

设置查询字段为**入校教职工工号**，因为是公开查询链接，为了隐私保护**隐藏全部**字段，然后再打开必要的且可公开的字段，如准许入校状态、工号和姓名，设置完成后将此查询共享外链分发：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-25-09-20-23.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-25-09-20-23.png)

填写者点开的查询界面如下：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-25-09-34-03.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-25-09-34-03.png)

输入工号即可查询允许入校的情况。

## 人员名单子表

通过导入本单位所有人员的信息，可以进行已提交记录的自动匹配，从而确认每人是否已提交以及手机号码是否匹配

### 导入名单
在子表“人员名单”中导入或者粘贴本单位所有人员的工号、姓名和手机号
[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/snipaste-2022-04-26-21-01-53.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/snipaste-2022-04-26-21-01-53.png)

### 分组显示
用匹配性列进行分组展示，可以非常便利的查看各种情况

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/ftPsnipaste-2022-04-26-21-08-34.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/ftPsnipaste-2022-04-26-21-08-34.png)

## 入校申请子表

入校申请子表中分为三个视图，每个视图都是为特定目的设计。分别为：
+ **默认视图**：所有表单填写提交的数据均会提交到此处，被图像识别处理后的数据（时间、手机号、途经城市等）会自动生成在此处
+ **异常行程**：行程卡识别不成功、带星号、非当日截图，会在此处显示
+ **准许入校名单**：在默认视图中点击允许入校后的名单在这里，可以导出Excel后直接在信息收集系统中导入

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650791996534.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650791996534.png)

### 默认视图

提交的记录会在云端自动识别，如果出现识别不成功的情况，可以通过**重新识别**按钮来再次尝试识别。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650785760278.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650785760278.png)

在识别成功后，根据识别结果，手动点击**允许入校**按钮，会给此提交添加 **“允许”** 的标记；反之，可以双击空白将“准许入校状态”改为**不允许**，

### 异常行程

异常行程会单独将行程码识别结果有异常的条目单独列出，以供处理。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650791569421.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650791569421.png)

### 准许入校名单

所有被标记 **“允许”** 的条目均会在此简化显示，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650791830710.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650791830710.png)

你只需要使用 **“导出视图为Excel”**，便可以导出符合格式的Excel文件直接导入信息收集系统中上报！

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650791868132.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650791868132.png)

### 一键批准

首先从申请中找出不符合的，将其“准许入校状态”标记为“拒绝”。然后再打开表格左侧的 **脚本**，运行**批准所有申请**，所有准许入校状态，则所有未标记准许入校状态的行都会自动标记为允许

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-2022-04-27-08-42-55.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-2022-04-27-08-42-55.png)

## 归档

可将今天之前的过往申请归档，这样可以用一个表格每天收集信息，而不用创建新的表格。

### 归档过往申请

切换到“过往申请视图”，该视图列出的都是今天之前的提交的申请，选择归档视图，将该视图的所有记录（即今天之前的申请）归档
[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-2022-04-28-17-52-46.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-2022-04-28-17-52-46.png)

### 查看归档

切换到“归档申请”视图，可以查看已经归档的历史申请

## 鸣谢

校党委研工部

计算机科学与技术系研究生工作办公室

**技术支持**

IMAGINE Lab实验室、计算机软件研究所、自然语言处理研究组

**OCR模块开发**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

**模板设计**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

人工微结构科学与技术协同创新中心

**计算资源**

人工微结构科学与技术协同创新中心

---

如遇使用问题，欢迎加入**QQ群：2343870**。

相关推文👉[NJU计小妍：抗疫｜核酸检测自动核查系统出炉~](https://mp.weixin.qq.com/s/pBJIxu1TQyKYL-OZINusiQ)

NJU计小妍：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650706940140.jpg)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650706940140.jpg)

微结构eScience：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650707253321.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650707253321.png)

# 行程卡、核酸报告截图OCR识别表

本表在基础的收集功能上，又新增了OCR识别的功能，支持同时识别：

+ 核酸检测报告

+ 行程卡

本表仅完成最基础的识别功能，其他功能因为需求变动频繁、过于复杂，需要用户具备一定的表格使用基础，请用户自行添加；如个性化需求需要帮助的，请联系eScience以提供支持。

如果你还没有熟悉这类表格的使用，建议你先尝试详细学习如下两个模板：

1. [核酸报告统计汇总表（含OCR截图识别）](https://doc.nju.edu.cn/books/18d80/page/ocr)

2. [公共卫生教职工入校名单（OCR识别）](https://doc.nju.edu.cn/books/18d80/page/ocr-jE8)

由于当前模板的限制，用户需要手动设置自动化：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650808191792.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650808191792.png)

若要通过下载全部导出固定文件名格式的图片，可以这样操作：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650808203591.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650808203591.png)

同时，本表格建议搭配**看板**插件使用，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650856180908.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650856180908.png)

该插件可以将原始数据

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650859939741.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650859939741.png)

设置按照**情况总览**列来分组，勾选你需要查看的字段

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860159497.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860159497.png)

数据会按照更加易读的卡片形式来展现

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860110439.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860110439.png)

放置到工具栏，下次使用更方便哦！

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860281167.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860281167.png)


## 鸣谢

校党委研工部

计算机科学与技术系研究生工作办公室

**技术支持**

IMAGINE Lab实验室、计算机软件研究所、自然语言处理研究组

**OCR模块开发**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

**模板设计**

硕士研究生王甲豪、张天昀和吕云哲（计算机科学与技术系研究生会）

人工微结构科学与技术协同创新中心

**计算资源**

人工微结构科学与技术协同创新中心

---

如遇使用问题，欢迎加入**QQ群：2343870**。

相关推文👉[NJU计小妍：抗疫｜核酸检测自动核查系统出炉~](https://mp.weixin.qq.com/s/pBJIxu1TQyKYL-OZINusiQ)

NJU计小妍：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650706940140.jpg)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650706940140.jpg)

微结构eScience：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650707253321.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650707253321.png)

# 南京大学材料、易耗品验收入库单表格

本表格为《南京大学材料、易耗品验收入库单》格式一致的表单，集**发票信息收集**、情况管理、**自动化生成入库单Excel文件**于一体，降低发票收集入库整理的繁冗程度。


## 使用方法

### 使用模板

我们制作了一份模板，请在**模板-财务**中寻找~

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860629517.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860629517.png)

### 新建收集表

按照 **“示例收集”** 子表的格式（推荐**复制表**但**不复制记录**）创建新的子表（例如：X年X月XXX办公室发票收集表）并自己取名。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860718187.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860718187.png)


[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860723899.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860723899.png)


### 发票数据收集与表单发放

针对财务管理人员，可以通过制作表单来让发票垫付人员帮忙填写。在右上角 **“表单”** 中已有一份为“示例收集”子表创建的《材料、易耗品发票收集表单（示例）》示例表单：


[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860734824.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860734824.png)
 

你可以创建新的表单并设置为为自己的子表（如前文的X年X月XXX办公室发票收集表），共享给别人填写发票信息：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650860923265.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650860923265.png)


[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650861196317.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650861196317.png)
 

同理，也可以分享数据收集表（适合大批量录入）。但无论如何，**对应子表要选择上面你创建的新表**。


### 配置表生成入库单打印文件

在本表格的所有子表中， **“配置表”** 只允许添加新的生成配置（即一行），**不能删除这个子表、删改列名**！


[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650861184019.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650861184019.png)
 

在 **“配置表”** 中，第一个 **对应收集表格** 输入需要数据来源的表格名，其余按照实际填写即可，最后点击 **“生成Excel入库单”按钮**。

### 打印入库单

格式已经被脚本自动设置，所以下载生成的Excel文件后，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650861150983.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650861150983.png)

只需要修改 **“打印整个工作簿”**，然后直接打印即可：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1650861161475.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1650861161475.png)

示例表格打印效果预览：[示例收集.pdf](https://doc.nju.edu.cn/attachments/1)

# 模板中的自动化脚本更新教程

有时候，因为脚本存在隐性问题（俗称**BUG**）或需求发生改变，模板中的自动化脚本的代码也会发生改变。本教程将简单介绍如何更新自动化脚本。

## 方法一：直接用最新的模板

|优点|缺点|
|-|-|
|最佳使用方法|数据必须从头收集|

这个方法简单直接，不必多说。

## 方法二：从最新模板复制粘贴新代码

|优点|缺点|
|-|-|
|保留当前收集数据，无需重新设置自动化|需要复制粘贴操作来修改代码，不熟练用户需要小心|

有时候表格用到一半、数据都已经收集好了，却突然发现了 BUG，怎么办？

首先，还是先从最新的模板创建一个新表格，然后直接点击该表格的对应脚本，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651229511227.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651229511227.png)

在弹出的代码页面直接**全选-复制**。然后回到你当前正在使用的表格，**全选-删除-粘贴**即可。

## 方法三：导出-导入-重新设置

|优点|缺点|
|-|-|
|保留当前收集数据，但必须要重新设置自动化|整体导入代码，避免误修改代码风险|

同样，从最新模板创建一个新表格，然后将新的脚本导出，浏览器会自动下载（可能会要求你点击**保留**）：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651229839788.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651229839788.png)

进入你正在使用的表格，导入刚才下载的脚本：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651230352648.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651230352648.png)

记住，此时需要将**按钮列-列类型转换-选择脚本**换成你刚刚导入的那个脚本（顺序和脚本栏一致，一般是最后一个；当然你可以手动重命名脚本来标记一下）。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651231674544.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651231674544.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651231900264.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651231900264.png)

同样，**自动化设置涉及此脚本的内容**需要一并修改。在那之后，删除原先的脚本。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/scaled-1680-/image-1651231959433.png)](https://doc.nju.edu.cn/uploads/images/gallery/2022-04/image-1651231959433.png)

## 方法四：成为自动化脚本真正的主人

|优点|缺点|
|-|-|
|你将主宰本表格的一切|需要耐心学习|

只要你会脚本对应的语言（Python/JavaScript），这些都不是问题~

# 高性能集群作业信息记录表模板教程

有时候我们在唐楼HPC上计算任务，想要较为准确地知道当前计算进展（例如，刚刚提交或者计算结束，又或者多个计算阶段到哪了），但是面临一堆Output文件不停`cat`、`grep`、`bpeek`很不优雅……

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694246004814.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694246004814.png)

为了比较准确知道自己的作业当前的状态，有很多种方法，集群用户大多是这三种做法：

1. 方法一<span style="color:red;">（千万别这么干系列）</span>：自己写个**无限循环**的脚本不停查询然后维持校园网外网访问，检测到后通过SMTP给自己发邮件。作为eScience高性能计算交流群的年更节目，此方法几乎没有任何优点，**不仅浪费一个校园网终端、邮件有概率被过滤、浪费大量登录节点资源导致其他用户也卡顿**，还有可能**得到集群管理员姚老师的特！别！关！照！**
2. 方法二：使用`bwait`命令（详细用法自行搜索）在任务后执行通知，优点是够简单，缺点是登录节点如果出了什么问题，该命令也会失效。
3. 方法三：直接将通知脚本集成在任务脚本里，放在任务前后执行。

本文将重点介绍方法三。你可能会说，那方法三不还是需要SMTP发邮件吗？

非也，如果你知道以下三个事实：
+ 协同表格（table.nju.edu.cn）和计算节点直接连通，而且同属内网**无需登录校园网账号**
+ 协同表格支持Webhook/邮件消息通知，其中Webhook包括**企业微信机器人**和**钉钉机器人**，甚至自定义Webhook
+ 大多数手机系统都已经支持企业微信和钉钉的系统级推送（指**无需后台驻留应用也能收到通知**）

那么你就可以自然想到：通过协同表格的API从HPC计算任务提交信息至表格，然后利用表格自动化实现消息推送提醒；既能统一记录信息，方便后期统计分析计算效率，又可以实时通知，妙啊~

那么，如何实现这一构想呢？

## 创建表格文件

### 获取模板

在协同表格的模板页，点击**科研-HPC作业信息记录表**，使用此模板：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247345505.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247345505.png)

这个模板预设的列名可以不用修改，因为后面的脚本预设的就是这些列名：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247533953.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247533953.png)

### 创建自动化

首先，打开钉钉或企业微信（本文以企业微信为例），在群聊内创建一个**群机器人**

[![创建群机器人](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247689624.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247689624.png)

之后，复制Webhook地址

[![复制Webhook地址](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247775339.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247775339.png)

回到之前创建的表格，我们打开**第三方集成**

[![“第三方集成”在“...”点击后的菜单中](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247847793.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247847793.png)

可以看见，表格支持发送邮件/企业微信机器人/钉钉机器人。本文我们主要关注机器人，因此邮件就暂时略过了。

[![第三方集成界面](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694247958844.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694247958844.png)

在此处，我们添加一个企业微信机器人并粘贴刚才的Webhook地址

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694250353881.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694250353881.png)

测试可以发送消息，即设置完毕。

> 如果你需要更高级的Webhook触发其他外部工作流来实现更加强大的自动化，可以选择另一种方式
> 
> [![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694248261491.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694248261491.png)
>
> 此自定义Webhook会被所有新增、复制、删除、修改行操作触发，并以特定的格式发送消息。详情见[官方手册](https://seatable.io/en/docs/webhooks/struktur-der-webhook-daten/)。

打开表格的**自动化规则**，新增一条规则：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694250482956.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694250482956.png)

在规则中，我们设置只要新增记录的任务状态列“不是空”，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694250535239.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694250535239.png)

然后增加一个动作，动作类型为**发送企业微信**，并选择刚才我们在“第三方集成”创建的那个企业微信机器人

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694250611949.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694250611949.png)

如果你想要“花里胡哨”一些，可以选择Markdown格式，并且按照[企业微信机器人官方文档](https://developer.work.weixin.qq.com/document/path/91770#markdown%E7%B1%BB%E5%9E%8B)的Markdown格式要求配合{列名}引用的模板语法来撰写。钉钉机器人同理。

下面是一个企业微信机器人的例子：
```md
集群任务新动向：
>任务ID：<font color="warning">**{任务ID}**</font>
>队列信息：**{队列}**
>节点信息：**{节点}**
>任务状态：<font color="info">**{任务状态}**</font>
```
保存这个自动化规则。至此，自动规则设置完毕。

## 获取脚本

在eScience的[Seatable-Reporter代码仓库](https://git.nju.edu.cn/escience/seatable-reporter)中，找到`seatable-reporter-LSF.py`文件，这就是脚本了。你可以把这个脚本放置在你的home目录下或其他什么地方，本文示例放置在`~`下面。

这个脚本配合上边的模板，什么也不用修改，可以直接拿来用。

## 使用脚本

### 获取Base API Token
脚本读取两个重要的环境变量：`SEATABLE_HOST`与`SEATABLE_BASE_TOKEN`，其中前者对协同表格用户而言填写`table.nju.edu.cn`即可，后者需要自行填写之前创建表格的API Token。

API Token的获取方式：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694252581217.gif)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694252581217.gif)

获取后，通过`export`命令将上述内容写入环境变量：

```sh
# 偷懒的话，可以直接加到`.bashrc`里面去
export SEATABLE_HOST=table.nju.edu.cn
export SEATABLE_BASE_TOKEN=<刚刚获取的API Token>
```
### 提交计算任务

由于提交作业之前的`alias`无法继承至LSF作业环境里，为了简单起见可以在LSF作业脚本开头写入命令，例如叫`mylog`。

在你想要的地方，直接`mylog`你想要的信息即可，消息便被发送至协同表格。以下是一个示例LSF作业脚本，
```sh
#BSUB -q 7702ib
#BSUB -n 1

alias mylog="python ~/seatable-reporter-LSF.py"

mylog "提交任务"
<your job>
mylog "计算结束"

```

表格上便会获得此消息

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694252970362.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694252970362.png)

当然，根据计算任务不同，你也可以自定义更多的状态信息。表格接收到新的记录提交，便会触发自动化，在手机上相应提醒：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694253134803.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694253134803.png)

此外，表格本身留下的记录也可以用于一些信息统计——

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/scaled-1680-/image-1694253277571.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-09/image-1694253277571.png)

## 结语

本文主要实践通过协同表格与HPC的联动，在纯内网环境实现了低成本的计算任务实况通知。

事实上，类似的自动化案例在eScience的各种服务中比比皆是。得益于eScience多个服务的灵活性，看似不相关的服务平时各司其职；一旦互相协同，就能在小至办公智能化，大至工作自动化的各方面有很大便利。

# 通用预约系统表模板使用教程

很多时候，为了更好地分配资源，我们需要有这样一个系统应用：

+ 能够让大家提前提交预约，并且具体到实名
+ 能够让大家**方便地查看/查询当前预约状况**，以便自行安排预约
+ 能够对预约**做出一些限制**
+ 能够根据不同单位、不同会议室/设备**分类计费**

这样的需求，**单纯的问卷形式传统表单收集是做不到的**。而数据收集表虽然可以创建，**整体的填写体验却不佳**，也做不到判断填写是否有效。

如何将多种数据**查看**手段、数据**收集**手段，有机地结合起来，并赋以**自动化**？协同表格的通用应用、脚本、自动化规则综合使用，便是一种极好的方式。

> 本模板现在已经率先应用在唐仲英楼的会议室预约系统中。最古早的传统表单/数据收集表用法见2021年的推送：[《协同表格 | 校内免费问卷制作平台你还不知道？》](https://mp.weixin.qq.com/s/q6xBlXzW5qhftfI7b0cwWw)，这种用法作为早期智能表格的补充模块，比较简陋。现在面向复杂需求，更推荐使用的是通用应用：[《协同表格 | 让每个人只能看见自己的记录，通用外部应用一招秒杀！》](https://mp.weixin.qq.com/s/wEiBRBMQqvY3-ymAqAhR-g)。

太长不看？这次，我们做了个简单的演示视频，建议在电脑上播放噢！

<video src="https://box.nju.edu.cn/f/0e1f2df92d7a47be8911/?dl=1"  controls="controls" width=800 ></video>

## 使用模板

### 从模板创建

登录[协同表格](https://table.nju.edu.cn)，从“通用”-“通用预约系统表”创建一张新表。

[![从模板创建](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701350070063.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701350070063.png)

[![通用-通用预约系统表](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701350125987.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701350125987.png)

打开创建的“通用预约系统表”，下面准备开始修改内容。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701350328378.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701350328378.png)

### 修改表格信息

#### 预约记录表-单选列标签

在创建的表格中，**“预约记录表”子表**内可以看到如下的这些列：

+ 申请序号（文本列，自动生成）
+ 申请人（创建者列，发放应用后填写人提交后自动生成）
+ **院系（单选列，管理员需根据情况设置）**
+ 其他院系部处（文本列，发放应用后如果填写人院系选择“其他”，则会提交）
+ 负责人姓名（文本列，发放应用后填写人提交）
+ 负责人工号（文本列，发放应用后填写人提交）
+ 手机（文本列，发放应用后填写人提交）
+ 邮箱（邮箱列，发放应用后填写人提交）
+ **会议室房间（单选列，管理员需根据情况设置）**
+ 会议室使用开始时间（日期列，发放应用后填写人提交）
+ 会议室使用时长（时长列，发放应用后填写人提交）
+ 会议室试用结束时间（公式列，类型为日期，由前两项自动计算）
+ 会议室使用用途（文本列，发放应用后填写人提交）
+ 备注（文本列，发放应用后填写人提交）
+ 费用（数字列，脚本自动计算）
+ 创建时间（创建时间列，发放应用后填写人提交后自动生成）
+ 状态（单选列，脚本自动计算）
+ 无效原因（文本列，脚本自动计算）
+ 申请人姓名学工号（文本列，发放应用后填写人提交后自动生成）
+ 申请人姓名（公式列，类型为文本，由前一项自动提取，提取技巧见：[协同表格 | 今日小技巧：从表单问卷的信息中提取填写者姓名学号](https://mp.weixin.qq.com/s/jex687myJJo-bg5e4UPxGw)）
+ 申请人学工号（文本列，发放应用后填写人提交后自动生成）

在上述诸多信息中，你 **只需要更改标出的两列**，点击“编辑单选”：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701351015580.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701351015580.png)

其中，您可以根据您的实际需求，将院系更改为部门、年级、课题组等等其他人员分类；会议室房间**也可以是仪器设备等其他公共资源**。

> 如果您需要更改列名，请注意将下方脚本内的相关索引（代码中“院系”和“会议室房间”的关键词）一并更改！
> 
> [![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701351421557.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701351421557.png)

#### 预约计价表-多选列标签

在前边我们修改过的“院系”和“会议室房间”（当然，根据你的需求，这里可能已经不叫这个名字了，但下面我们仍然沿用这两个名字），在 **“预约计价表”子表** 内也把相应的列名修改一致，并且标签需要一致：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701352066149.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701352066149.png)

唯一不同的是，这里的“院系”和“会议室房间”**必须是多选列**。

> 这里有个小技巧：你可以通过“导入/导出标签”从前面的“预约记录表”子表精准地把标签导入过来。
>
> [![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701352124484.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701352124484.png)

“预约计价表”子表提供了两种计费模式：**次单价和时单价**，并且逻辑上取**最大值**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701352392851.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701352392851.png)

该子表的每一行都是计价规则，其逻辑为：同一行内，对应的“院系”预约对应的“会议室房间”，按照后边的计算方式计算。

> 此逻辑更改需要动脚本代码。如果不需要某种计费方式，一个简单的方法是：直接将该值写为`0`。例如，不需要按次计费，那就把次单价改为`0`，这样就始终采用时单价的结果了。

需要注意，**这张子表应该覆盖所有的情况，并且规则互相不得有冲突**。

#### 预约规则配置表-变量值

**“预约规则配置表”子表**配置了用于脚本的变量。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701352791702.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701352791702.png)

首列不要动，你只需要根据自己需求修改“值”即可。

需要特别注意的是，`OUTDUE`是宽限期，该参数设定在后期录入开始时间早于当前一定时间段的记录，也会被视作有效预约。

### 邮件通知（可选）

为了能较为即时反馈预约结果，本模板设计了邮件通知系统，但需要按照下文方式配置。首先打开**第三方集成**面板：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701353395771.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701353395771.png)

在 **“邮件”-“增加邮件账号”** 内，添加一个用于发信的邮箱：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701353472231.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701353472231.png)

添加邮箱需要下列信息：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701353599454.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701353599454.png)

这些信息你可以通过搜索**对应邮箱的第三方客户端配置**教程来填入。例如，以南京大学邮箱为例，你可以参考[《南大电子邮件使用办法》](https://itsc.nju.edu.cn/1b/ce/c21586a334798/page.htm)中关于“学生/教师邮箱客户端设置办法”的内容，寻找“SMTP”和“IMAP”端口号与客户端专用密码设置。

在上述账号添加完毕后，你可以**点击“发送”**来测试是否正确配置：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354033587.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354033587.png)

接着，打开 **“规则”-“自动化规则”** 模块：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354108969.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354108969.png)

其中已经有预置的三个核心自动化规则，你**只需要检查第一个“预约状态更新通知”自动化规则**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354249657.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354249657.png)

绝大多数设置都是无需修改的，只需要**将“第三方账户”从下拉框选中你刚刚添加的账户即可**：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354226716.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354226716.png)

如果不设置这一部分，邮件将不会发送，但前面的功能不受影响。

### 脚本

本预约系统的核心脚本有两个，除非有前文中提到的需要修改列名的情况，一般情况下无需修改。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701353301313.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701353301313.png)

> 可以注意到，这里的脚本有两个。其中，除了**新增记录规则判断**，我们还需要**定期冲突重复检查**。这是因为，记录提交后，后台会运行一个Python脚本，但由于这个过程是并发的，如果极小概率出现：A和B是两条有预约时间冲突/重叠的记录，A记录比B记录先触发脚本，但因为某些不可控的原因，A的脚本尚未执行完时B已经被执行了，B脚本是完全不知道A记录的存在的，因此可能会同时被判断为**预约成功**。为了解决这个问题，一般做法是通过队列或其他方式有一个顺序的控制，这在协同表格中可以单独以一张子表作为队列来解决——但是显然这非常麻烦。因此，每天定时做一次检查，将冲突情况搁置并让申请人通知管理员处理，是非常必要的。
> <div drawio-diagram="433"><img src="https://doc.nju.edu.cn/uploads/images/drawio/2023-12/drawing-4-1701484145.png"></div>

脚本会获取之前的记录，查询检测是否合法，然后计算费用，写入**预约记录表**的**状态**和**无效原因**列。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701482850648.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701482850648.png)

其中，**状态**有4个：

+ 预约成功：预约完全符合条件
+ 预约失败：出现冲突或者其他违反预约规则的时间段
+ 等待审核：提交后的默认状态
+ 正在调解：出现极小概率冲突时，定期检查会将**预约成功**切换至此，该检查默认每次预约提交后第二天0点进行，因此如果第二天没有变化，那么一定是**预约成功**了

预约失败的原因一般包括：

+ [合法性检查错误] 超出最大预约时长 MAX_DURATION，请仔细阅读说明。
+ [合法性检查错误] 未达到最短预约时长 MIN_DURATION，请仔细阅读说明。
+ [合法性检查错误] 不能预约已经超过回溯期 OUTDUE 的时间。
+ [合法性检查错误] 超出允许的最大提前预约时间 MAX_PERIOD，请仔细阅读说明。
+ [合法性检查错误] 该时段已有预约，请预约前通过查询功能检查该时段是否可约。

如果自动化运行未生效（没有自动判断预约成功），可以通过脚本日志查看是不是哪里设置有问题（尤其是前文提到的预约计价表情况是否定义完全）：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701482738956.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701482738956.png)

脚本日志的常见报错包括：

+ [规则错误] 冲突的规则：预约计价表里面有多次定义的费用规则
+ [规则错误] 缺少规则：预约计较表里面缺少费用定义

## 编辑应用

通用应用是一个基于智能表格可让用户自行搭建简易APP的功能。通过简单的页面类型选择、组织，用户就可以为原先“简陋”的表格“套”上一层友好的交互页面。应用内的人员管理也是与表格原先的“协作人”独立，每一个用户登录应用时，都会被注册为一个应用的角色。

因此，通用应用功能相比之前依靠共享表格、视图以及传统表单、数据收集表实现的各种数据收集协作场景，都更加安全且功能丰富，而且**登入/注册应用的用户不会受到人数限制**。在面向大批量、不确定身份的人员很多行政目的的表格协作中，直接共享表格不仅权限不安全也有可能受到人数限制，使用通用应用是个推荐选择。

在“应用”模块，已经有一个样例应用。我们将通过下面这个应用来展示通用应用的优势。

点击右侧的小笔<img src=https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354452848.png class="pic_inline">编辑此应用：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354395940.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354395940.png)

从左侧导航栏可以看见，这个应用设计了这些页面：

+ 说明
+ 所有预约日历
+ 所有预约查询
+ 预约申请
+ 申请人
  + 预约取消（申请人）
  + 有效预约（申请人）
  + 无效预约（申请人）
+ 负责人
  + 预约取消（负责人）
  + 有效预约（负责人）
  + 无效预约（负责人）
+ 预约管理

可以看到，我们预期本应用的设计需要满足预约填写，但又**远不止是填写**。我们希望：

+ 有一个**对填写者友好的导航**，能够补充一些必要信息：需要注意到，手机上打开应用时，左侧导航栏一般会默认隐藏，设计一个**说明**页是必要的。
+ **填写人有充分的手段查看当前预约情况，而且方式灵活**：按照日历看（时间维度）时间更方便，增设**预约日历**；或者有目的地检索某个房间（地点维度）预约情况，增设**所有预约查询**。
+ 有一个**统一的填写入口**：制作**预约申请**表单页。
+ **申请人与负责人均有权限取消预约和查看预约情况**：在前面的表格中，我们收集了两个人员信息，一个是填写者，也就是申请人的学号/工号，另一个是负责人的工号；通过[预过滤技巧](https://mp.weixin.qq.com/s/wEiBRBMQqvY3-ymAqAhR-g)，我们很容易实现页面**分别按照申请人和负责人**过滤。
+ **为应用设置管理员，以多人合作**：设计**预约管理**页，仅限特定人员可见。


### 说明页

进入编辑界面，说明页可以根据你的具体情况修改。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/scaled-1680-/image-1701354496163.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-11/image-1701354496163.png)

### 所有预约日历/所有预约查询

这两个页面直观展示当前预约情况：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701415067307.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701415067307.png)

其中，检索功能更具体一些：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701415078915.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701415078915.png)

这两个页面无需修改。

### 预约申请

这一页是用于预约填写的表单：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701415280811.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701415280811.png)

这里也应用了一个技巧，设置**申请人姓名学号**和**申请人学工号**两个的默认值分别为`{creator.name}`和`{creator.id}`，并**设置默认值之后不能更改**，就可以直接获取当前登录者的信息，**填写人不需要手动填自己的姓名学号**。该技巧见：[协同表格 | 今日小技巧：从表单问卷的信息中提取填写者姓名学号](https://mp.weixin.qq.com/s/jex687myJJo-bg5e4UPxGw)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701415468476.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701415468476.png)

预约申请页面一般也无需修改。

### 申请人/负责人

申请人/负责人文件夹内的页面结构是一样的

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701415181545.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701415181545.png)

其中，对应的人员在**预约取消**一栏可以删除已经存在的记录，但是不能修改或新增。如要重新预约，必须要从上面的**预约申请**提交新的预约。

### 预约管理

预约管理是可以设置为我们指定的人来访问，其他人无权限访问这一页面。这样，我们就可以在应用内就完成数据协作，无需共享表格。

鼠标移动到“设置”小齿轮，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416247243.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416247243.png)

就可以打开这一页的页面设置：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416306891.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416306891.png)

可以发现，各种权限能够设置的选项有四个：管理员（这张智能表格的管理员）、没有人、任何人、**特定角色**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416344886.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416344886.png)

这里的**特定角色**与智能表格中的**指定用户**是完全不同的两个概念。**特定角色**仅在本应用内存在。在编辑本应用时，左侧可以看见**用户和角色管理**一项：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416476672.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416476672.png)

在**用户**一栏中的用户，便是本应用目前为止注册的用户：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416533459.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416533459.png)

> 这与原始的表格是完全独立的——除非你点击右上角**将用户同步到表格**。

在**角色**一栏我们点右上角**增加角色**，例如图中我们创建了一个**辅助管理**角色：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416625536.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416625536.png)

现在回到之前的页面设置，刷新后你将在这里看见**辅助管理**这个角色，选中它，这一页就只能被**辅助管理**查看了

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416833991.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416833991.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416904351.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416904351.png)

## 发放应用

至此，我们已经编辑完毕主要的内容。下面的问题是，我们要如何发放这个应用？

首先，在编辑应用的左侧我们可以看见齿轮，这是整个应用的设置。这里我们可以设置一个好记的自定义URL。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701416991015.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701416991015.png)

但是直接复制这个应用发放，你会发现收到的人点开没有权限！你需要打开**用户和角色管理**-**开放式访问**-**任何登录用户访问应用程序都将自动注册为应用程序用户**，并设置自动注册的角色：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701417316837.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701417316837.png)

这样，用户拿到上方的 App URL 或者前文的自定义 URL，点击登录后都会自动创建为设定的角色并注册为此应用的用户。

实际上，本来我们需要在**用户和角色管理**内的**邀请链接**，为**默认角色**（或者你自创的某个角色）创建一个邀请链接，访问这个链接的人登录后才会自动按照这个角色注册为应用用户，这也是不进行上文设置会提示没有权限的原因。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701417123286.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701417123286.png)

但是，**开放式访问**的功能简化了这一流程。前面的“辅助管理”自定义角色可以单独创建邀请链接发放给协作者：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/scaled-1680-/image-1701417610334.png)](https://doc.nju.edu.cn/uploads/images/gallery/2023-12/image-1701417610334.png)

------

在完成上述步骤后，你应该得到了：
+ 一个公开的APP链接地址，预约申请人和负责人访问后进行查询、预约或取消预约的操作
+ 一个发给其他同事的辅助管理链接

分发公开的APP链接地址给需要预约的用户，然后将辅助管理的链接分发给一起管理（主要是解决小概率冲突才需要人工介入，其余情况基本为自动化计算）的同事。

需要注意的是，上文所有的查询功能**必须基于用户登录**才能实现，因此**千万不能开启开放式访问-允许匿名用户访问**。

# 作业收集评分表（新版）

在现代教育环境中，高效地管理作业收集、批改和评分是每位教师的重要任务。eScience中心提供的协同表格是一个强大、灵活的工具，可以帮助教师或助教轻松实现这一目标。

本文将介绍如何使用协同表格的作业收集评分表。

## 从模板创建

点击从模板创建，选择 **“教学与学习-作业收集评分表（新版）”** 并创建。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739769063924.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739769063924.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739769102739.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739769102739.png)

## 配置应用角色

进入表格后，无需做任何调整，直接点击界面右上角的 **“应用”**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739769209472.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739769209472.png)

这里已经有个 **“作业提交系统”** 创建完毕了。鼠标移动到这一行，点击右侧的笔状图标进行编辑。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739769237494.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739769237494.png)

进入编辑页面，如下图：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771251354.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771251354.png)

该应用有三个页面，预期如下设计：

- 提交作业：这个页面所有人可见，用于学生提交作业，不允许重复提交。（这些已经设置好了，使用模板无需自行配置。）
- 修改作业：这个页面所有人可见，用于学生查看提交情况或修改提交。但用户只能看见学号一栏和当前登录用户学号一致的行。（这些已经设置好了，使用模板无需自行配置。）
- 评分页面：这个页面只有管理员和助教可见，但是不能修改文件。只可以修改评分。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771263204.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771263204.png)

所以除了默认角色外，应用应当有三个角色：

- 管理员：创建表格的人或者群组管理员，这是默认创建的
- **学生：用于收集作业的角色，需要用户创建**
- **助教：用于批改作业的角色，需要用户创建**

> 注：通用应用功能的角色权限与表格内原先的权限完全独立！因此不需要管原来的表格是什么样，我们只需要关心这个应用内的权限如何。

在左侧点击如图所示的图标，进入**用户与角色管理**。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771293945.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771293945.png)

进入**角色**设置页，增加“学生”和“助教”两个角色。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739770112724.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739770112724.png)


鼠标移动至“评分页面”的小齿轮：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771337766.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771337766.png)

右下角会出现权限设置，如图设置即可：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739770294984.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739770294984.png)

在这一步，可以设置评分后台只有助教和管理员看见。

## 创建并分配链接

最后来到 **“邀请链接”** 一栏，分别给“助教”角色和“学生”角色按需求创建一个链接并发放。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739770447741.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739770447741.png)

### 学生视角

给学生发放学生角色链接后，点击后登录账号，该账号会自动以学生身份加入该应用。

学生将看不见评分后台，在**提交作业**页可以提交作业文件：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771568469.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771568469.png)

在**修改作业**页可以查看提交情况和修改，也能看见最终分数。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771650687.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771650687.png)


### 助教视角

助教可以看见所有页面，在**评分页面**助教能够看见所有人作业：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771811318.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771811318.png)

点开上传的文件列，点击对应文件可以在线预览作业文件（仅限常见Word、PDF、图片文件）。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739771993064.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739771993064.png)

也可以选择批量全部下载：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772071583.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772071583.png)

根据自定义的拼接文件名，下载文件会相应的重命名：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772096661.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772096661.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772175658.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772175658.png)

> 通过联用Box云盘还可以实现直接下载数据到云盘里，免去下载上传备份的麻烦。具体请参考文章：[《协同表格&云盘梦幻联动！》](https://mp.weixin.qq.com/s/Ug1t5mQzdUzI7HMQyQOzBg)

在一旁的“评分”即可直接填入数字：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772228320.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772228320.png)

## 停止学生提交/修改作业

将**提交作业**页面权限全部修改为管理员或助教，

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772419681.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772419681.png)

**修改作业**页面把除了“谁可以查看页面”**以外**的权限设置为管理员。这样就可以保留学生查看权限但不允许修改了。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739772710616.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739772710616.png)

## 特别提醒

### 一张表收整个学期作业

原先的模板仅仅用于单次作业收集，但更多的情况下，我们需要一学期收好多次作业，那要怎么修改呢？这可以稍稍修改实现：

首先，增加一个单选列，为**作业批次**

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776562009.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776562009.png)

然后编辑应用-**提交作业**页面，添加**作业批次**字段：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776638601.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776638601.png)

并且设置默认值，以及不能更改：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776656741.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776656741.png)

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776665403.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776665403.png)

这个页面设置的“禁止添加重复记录”也设定为：学号和作业批次不得重复。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776706172.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776706172.png)

应用-**修改作业**页面的设置中，取消**作业批次**的预隐藏并且设置为只读。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776822506.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776822506.png)

评分页面的预隐藏和只读设置同上。

当然，如果嫌麻烦，也可以每个批次单独创建一个表。这种情况就更建议先创建一个文件夹方便管理了。

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739776986228.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739776986228.png)

### 上传作业文件管理

在刚登录的主界面点击头像会显示用量：

[![](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/scaled-1680-/image-1739777054618.png)](https://doc.nju.edu.cn/uploads/images/gallery/2025-02/image-1739777054618.png)

目前，表格用户每人有100G空间。