总安装量
3
今日新增
+1
用户评分
- / 5.0 (0)
当前版本
6.1
描述
版本1
评分0
权限说明
SCUT_Lesson_Table
华南理工大学教务系统课表导出工具 — 油猴/Tampermonkey 用户脚本
功能
- 自动查询:进入课表页面自动加载数据,无需手动点击
- 9 种导出格式:JSON / CSV / TXT / Markdown / iCal / DOCX / XLSX / PDF / JPG
- 多格式同时导出:checkbox 多选,一次导出多种格式
- 23 个可选字段:课程名称、教师、地点、学分、教学班、考核方式等
- 课程合并:同课程不同教师/周次自动合并,支持不连续周次和双单周标记
- AJAX 拦截:直接获取教务系统 JSON 数据,比解析 DOM 更完整可靠
安装
- 安装 Tampermonkey 或 Violentmonkey
- 浏览器地址栏输入
file:///+ 脚本完整路径,如:file:///C:/Users/你的用户名/Documents/SCUT_Lesson_Table/SCUT_Lesson_Table.user.js - 油猴弹出安装提示,点击"安装"
或在油猴管理面板 → "+" 新建脚本 → 粘贴代码 → 保存。
使用
- 打开 华工教务系统 → 个人课表查询
- 脚本自动加载课表数据,右下角出现"导出课表"按钮(绿点表示数据就绪)
- 点击按钮打开导出面板
- 选择格式、勾选字段、决定是否合并课程
- 点击"导出"
导出格式
| 格式 | 说明 | 依赖 |
|---|---|---|
| JSON | 结构化数据 | 无 |
| CSV | Excel 可直接打开(UTF-8 BOM) | 无 |
| TXT | Tab 分隔纯文本 | 无 |
| Markdown | 按星期分组的表格 | 无 |
| iCal (.ics) | 日历格式,可导入日历应用 | 无 |
| DOCX | Word 文档 | 无 |
| XLSX | Excel 格式 | SheetJS(自动加载) |
| A4 分页 | jsPDF + html2canvas(自动加载) | |
| JPG | 高清截图 | html2canvas(自动加载) |
需要外部库的格式首次使用时自动从 CDN 加载,无需手动安装。
课程合并
勾选"合并同课程不同教师/周次的条目"后:
- 合并条件:课程号 + 星期 + 节次 相同的条目
- 教师:不同教师名用逗号连接
- 周次:自动合并(支持
1-4周,9-12周不连续格式) - 地点:不同地点用
/连接 - 双单周:支持
8-10周(双)表示仅双周
合并前(4 条):
高等数学A | 张老师 | 星期一 | 1-2 | 1-4周
高等数学A | 李老师 | 星期一 | 1-2 | 5-8周
高等数学A | 王老师 | 星期一 | 1-2 | 9-12周
高等数学A | 赵老师 | 星期一 | 1-2 | 13-16周
合并后(1 条):
高等数学A | 张老师,李老师,王老师,赵老师 | 星期一 | 1-2 | 1-16周
可选字段
基础字段(默认勾选):
课程名称、课程号、教师、星期、节次、时间/周次、上课地点、学分
扩展字段(默认不勾选):
教师职称、主辅讲、教学班、教学班组成、选课备注、课程学时组成、周学时、总学时、课程总学时、考核方式、考试方式、授课方式名称、重修标记、课程性质、课程标记
版本历史
| 版本 | 变化 |
|---|---|
| v1.0 | 初始版本,正则解析 DOM,仅 JSON 导出 |
| v2.0 | 重写:AJAX 拦截、字段选择、JSON/CSV/iCal/Markdown |
| v3.0 | 多选格式,新增 TXT/DOCX/XLSX/PDF/JPG |
| v4.0 | 新增课程合并功能 |
| v5.0 | 尝试借用系统导出(失败),改进合并逻辑 |
| v6.0 | 去掉系统导出,修复 Array.prototype 问题 |
| v6.1 | 页面加载自动查询 |
各版本可在 Releases 下载。
技术实现
- 通过 Hook
jQuery.ajax拦截/kbcx/xskbcx_cxXsgrkb.html获取课程 JSON 数据 - DOCX 使用手写 ZIP + Office Open XML 生成,无需外部库
- XLSX/PDF/JPG 通过 CDN 动态加载 SheetJS、jsPDF、html2canvas
- 兼容教务系统对
Array.prototype的扩展
许可证
GPL-3.0 License