A Python tool that takes multiple student timetable Excel files and generates a single consolidated Excel in a “matrix calendar” format:
- Column A: Day of the week
- Column B: Time of the day (slot grid)
- Column C onward: One column per student
- Each student’s occupied slot is filled with that student’s color and contains the course name (and time range).
- Includes a Legend sheet mapping student → color.
This is useful for instructors/program coordinators to quickly visualize multiple students’ schedules in one place.
Upload one or more .xlsx files (one per student).
Each file must contain a sheet with at least 4 columns:
- Course name
- Day of the week
- Start time
- End time
Header names can vary (e.g., Course, Subject, Day, Start time, Time From, End time, etc.).
If headers are missing or unclear, the tool falls back to using the first 4 columns.
Mon,Monday,Tue,Tues, … etc.
- Excel time cells
- Strings like
08:30,8.30,08:30:00
The app produces an Excel file with:
A weekly slot grid:
| Day | Time | student_1 | student_2 | ... |
|---|
Cells are:
- Filled with the student’s color if they have a class in that slot
- Empty if no class
- If a student has overlapping items in the same slot, the cell will stack text (multiple lines)
A simple mapping of each student to their assigned color.
- Upload multiple student files at once
- Automatically selects the best sheet from each workbook (if multiple sheets exist)
- Skips invalid/empty sheets without crashing
- Deterministic color assignment per student (same student → same color every run)
- Adjustable time-slot resolution (15/30/60 minutes)