https://jiajia.fun/a/9081516c-f476-450f-a412-a757946d6785-%E4%B8%8D%E7%94%A8excel%E6%80%8E%E4%B9%88%E6%94%B6%E5%AD%A6%E7%94%9F%E6%95%B0%E6%8D%AE%E5%B9%B6%E8%87%AA%E5%8A%A8%E6%A0%A1%E9%AA%8C

# 不用Excel怎么收学生数据并自动校验

不要用 Excel 当录入界面，改成网页表单加字段校验加结构化存储，前端挡手误、后端兜底，坏数据在结构上进不来。

## 要点

1. Excel 是自由编辑的任意格式文件，下游只能靠猜；换成字段可设必填、类型、枚举与正则的表单工具，填错时在提交那刻就被拦下。
2. 腾讯问卷、金数据、飞书多维表格都能定义字段类型与取值范围；飞书多维表格还带表格视图，对填写者更直观。
3. 字段固定时可以自己写单页表单，用 number、date、maxlength 加正则做前端校验，能挡掉大部分手误。
4. 前端校验可被绕过，入库前还要再校验一次：数据库加非空、类型、唯一约束，应用层校验语义范围如成绩 0 到 100。
5. 别人交来 Excel 文件时的自动检测只是补救：检查表头、逐列判断类型与枚举，不合格整体退回，用 pandas 加 pydantic 实现，不要替人猜列。
6. 长期值得投入的是查自己库里的逻辑矛盾，如重复提交、姓名与学号对不上、字段缺失率异常；另给一份带示例的填写说明比任何校验都省事。

## 来源

- [原始讨论 1](https://jiajia.fun/qa/236a211486374fc9a45313c6)
