# 导出与打印 ## 导出成绩明细 工具栏 **导出成绩**,生成 `.xlsx`(零依赖,仓库内自行实现 XLSX 写入,不需要 `zip` 扩展也能用)。 ### 三种可选模式 | 选项 | 效果 | | --- | --- | | 导出排序 | `按提交时间` / `按学号` / `按成绩降序` / `按成绩升序` | | 按最新成绩 | 每人**只导一行**:最近一次成绩 + 最高分 + 考试次数 | | 按班级分表 | 一个班级一个工作表(xlsx 多工作表) | ### 列 默认列(全部记录模式): `学号 / 姓名 / 班级 / 组别 / 成绩 / 考试次数 / 第几次 / 提交时间 / 考试时长 / 考试时长(秒)` 按最新成绩模式: `学号 / 姓名 / 班级 / 组别 / 最新成绩 / 最高分 / 考试次数 / 最近提交时间 / 考试时长 / 考试时长(秒)` > 学号等长数字列统一按**文本格式**写入,不会被 Excel 转成科学计数法,也不会被当作公式执行。 ### 文件名 ``` 成绩明细_<试卷名>[_<班级>][_<组别>][_最新成绩]_.xlsx ``` ### 跟随筛选 导出**完全跟随页面当前的班级 / 组别筛选**,缺考口径也与页面一致 (筛选后名单 − 筛选后已提交,按学号匹配),不会出现"页面上 30 人、导出 50 人"的情况。 ## 导出缺考名单 工具栏 **导出缺考**,列为 `学号 / 姓名 / 班级 / 组别`,按学号升序。 ## 打印成绩明细 成绩明细面板右上角 **打印**: - 默认按**成绩降序**; - 可选「按班级 / 组别分组对比」,每组段首给出小计; - 走浏览器打印通道,可直接另存为 PDF。 缺考名单面板右上角 **打印** 同理。 ## 直接调用导出接口 需要对接其它系统时,可以带参数直接 GET(需已登录): ``` api.php?action=export&projectId=xxx&cls=1&grp=A&mode=latest&split=cls&sort=score_desc&cols=sid,name,score ``` | 参数 | 取值 | 说明 | | --- | --- | --- | | `projectId` | 试卷 ID | 必填 | | `cls` / `grp` | 班级 / 组别 | 与页面筛选一致 | | `mode` | `latest` | 每人一行最新成绩;缺省导出全部记录 | | `split` | `cls` | 按班级拆分多工作表 | | `sort` | `time` / `sid` / `score_desc` / `score_asc` | 排序 | | `cols` | 逗号分隔列名 | 从默认列中挑选 | ## 相关 - [成绩明细与统计口径](./scores.md) - [接口一览](../dev/api.md)