跳转到内容

Excel 花名册批量导入

开学前把一整所机构的数据录进来,靠手工点是不现实的。导入页是 OpSkool 里最该先学会的一页——它不只是「批量录入」,也是批量把学生编入班级最省事的办法(单个加、单个退还有另一条路,见那一篇)。

左侧图标栏 导入

进来你会看到一张按导入顺序排好的清单,分四个阶段。这张页面本身就是操作说明书——每类数据后面都写着它需要哪些列、库里现在有多少条。

导入页:左侧是按依赖顺序分成 1-4 四个阶段的九类数据,每类给出所需列与「模板 / 导入」两个动作;右侧 5 是全量导出,6 是导入历史

上图里的 1→2→3→4 是依赖顺序,不是建议顺序。后面的数据引用前面的,顺序反了会得到一堆「XX 不存在」的错误行。

阶段导什么说明
1 先导校区校区其余所有数据都挂在校区下
2 基础档案教室、教师、学生、学科、成员账号互相独立,任意顺序
3 班级班级引用校区、学科与学期。学期要先在排课页新建;学科不存在会自动创建
4 名单与课表班级学生名单、课次最后导,逐行挂到已有班级上

两个省事的点:

  • 班级时,学科不存在会自动创建——可以不单独导学科。
  • 班级学生名单时,学生不存在会按名建档——可以不单独导学生。

每类需要哪些列

章节:每类需要哪些列
类型必填列可选列
校区名称联系电话、状态
教室教室名、校区容量
教师姓名、所属校区状态、手机号、角色
学生姓名、校区状态、备注
学科名称颜色(不填自动配色)
成员账号姓名、手机号、角色校区范围、关联教师档案
班级班级名、校区、学科容量、每节课时、主带老师、开班日期、结班日期、学期
班级学生名单班级名、学生姓名、加入日期离开日期、类型(在读/试听)
课次班级名、日期、开始时间、结束时间老师、教室

班级那一行的「每节课时」值得单独说:这一列决定这个班每上一节课要扣学生多少课时,留空 = 默认 1。班级详情页的「本地设置」里也能逐个改这个字段,但一个机构上线时往往一次要导几十个班,逐个点进班级详情改不现实,所以导入模板里直接给了这一列。见建班级、编班

教师那一行值得单独说:表里填了手机号就同时开好账号,老师用企业微信首次登录会自动对上号——比先建档案再去「成员」里逐个邀请省一大截。见建老师档案

课次那一行也要注意:导入时会做冲突检测,撞车的行会作为错误行退回来,不会硬塞进去。见三维冲突检测

点任意一行右边的 导入,进入「Excel 导入」向导。顶部永远显示你在第几步: ① 上传 → ② 列映射 → ③ 预览确认。

第 1 步 · 上传

章节:第 1 步 · 上传

第 1 步上传:1 是三步进度条,2 是导入类型下拉,3 是下载模板链接,4 是选择文件,5 是上传按钮

  1. 确认 导入类型(②)就是你要导的那类——从清单点进来时已经选好了。
  2. 下载模板(③),得到一个列名正确的空 Excel。强烈建议照模板填,自己造表头容易在第 2 步多花时间。
  3. 选择文件(④)选好填完的 xlsx → 点 上传(⑤)。

第 2 步 · 列映射

章节:第 2 步 · 列映射

第 2 步列映射:1 是你表里的列名,2 是每列对应的目标字段下拉,3 是下一步

左边(①)是你 Excel 里的列名,右边(②)是要把它导进哪个字段。

下拉里带 * 的是必填字段(如 班级名*)。必填项没配齐时,下方会有一条橙色提示写明还差哪几个,例如「尚未映射的必填字段:班级名、学生姓名、加入日期」,配齐了这条提示就消失。然后点 下一步(③)。

用不上的列选「不导入此列」即可,多余的列不会报错。

第 3 步 · 预览确认

章节:第 3 步 · 预览确认

这一步还没有写进数据库,是你最后的检查机会。

第 3 步预览确认:1 是将新建,2 是将合并,3 是有问题的行及错误原因,4 是下载错误行 Excel

结果分成三块:

含义
将新建库里没有,这次会新增
将合并库里已有同名记录,这次会更新它,不会产生重复
有问题这些行会被跳过,不计入结果

「有问题」那块每行右侧都写着错误原因,逐行可读,例如:

错误原因什么意思怎么改
班级「不存在的班级X」不存在引用了一个库里没有的班级先把班级导进去(阶段 3),或改成正确的班级名
缺少学生姓名必填列这一行是空的补上,或删掉这一行
缺少或无法识别加入日期日期格式不对(如填了「不是日期」)改成 2026-08-14 这样的标准日期

底部的橙色条会汇总一句「另有 N 行有问题,导入时将被跳过,不计入结果」,按钮上也直接写着这次实际会导几条,例如 导入 2 条

点「下载错误行 Excel」(④)拿到一份只含问题行的表,修完可以直接重传——不用在原始大表里找那几行。

确认无误,点 导入 N 条

导错了怎么办

章节:导错了怎么办

三层保障,按代价从小到大:

  1. 预览拦截——有问题的行在第 3 步就被挡下了,根本不会进库。

  2. 重复导入自动合并——同一批数据导第二次不会产生重复记录,所以「不确定刚才导没导成功」时,重导一次是安全的。

  3. 整批回滚,但可能会被拒绝——在导入历史(首图⑥)里找到那一批,点回滚 → 二次确认。回滚删除的是这一批新建的行;如果导入时是「合并」到了已有记录(比如又导了一遍同名学生、只是更新了备注),回滚不会把那些字段改回导入前的值,回滚撤销的只有新建。

    更重要的是:如果这批数据导入之后又被别的记录引用了,回滚会被直接拒绝,不会把已经被用到的数据硬删掉。常见的情形——导入的学生已经被编进某个班、报读了课时、被点过名或算进了考试成绩;导入的班级已经有了花名册、排过课、建了排课规则或考试;导入的教室已经排进课次或排课规则;导入的教师已经带了班或排了课;导入的校区下面已经有了教室、教师、学生或班级,或者被某个成员的校区范围引用;导入的学科被班级、课次、课时台账或考试引用了;导入的课次已经被点过名或产生了课消。遇到这种情况,报错会逐行列出「第 N 行:被谁引用」,需要先去对应页面解除引用(比如把学生退班、删掉那场考试),再回来重新发起回滚。

    例外:「班级学生名单」(编班记录)没有这层拦截,回滚这类批次总是能成功删除,不会被引用挡住。「成员账号」批次的回滚撤销的是账号创建,如果那个账号已经被本人激活登录过,这一条不会被删除,回滚的其余部分仍会照常完成。

页面右侧的「导入历史」列出每一批:文件名、类型、状态,以及「共 N · 新建 N · 合并 N · 失败 N」的计数。完成一次导入后就会出现在这里。停在第 3 步没点确认的批次会显示为「预览中」。

数据随时带走

章节:数据随时带走

右上角的「全量导出」(首图⑤)把上面 9 类数据打包成一个 zip:每类一个 Excel,列与导入模板完全一致,在另一个实例按顺序导入即可原样复原。

这也是社区版「不被供应商绑架」那句话的落地方式——迁移不需要我们配合。含手机号等资料,仅管理员可见

同名会怎样? 同名精确匹配。这既是「合并」能生效的原因,也意味着真有重名时会被当成同一个人——重名会作为错误行单独导出,需要人工处理。

导入会不会覆盖我手工改过的数据? 会合并到已有记录上。所以导入前先用「全量导出」备一份是个好习惯。

为什么我的班级导不进去,提示学期不存在? 学期不在导入清单里,要先在排课页新建学期(或 设置教学学期),见定学期与校历

这九类数据里没有课时/学费,期初余额怎么批量导? 导入中心这九类是校区、教室、教师、学生、学科、成员账号、班级、班级学生名单、课次——不含课时台账。期初课时批量导入是另一条独立入口,不在导入中心里,在学生列表页顶部(跟「+ 新建学生」同一排)的 期初课时导入 按钮,见报读与课时台账。不是不支持批量导,只是入口不在这里。