Preparing your data for a mass (batch) import
Manually entering several hundred or thousand rows (teachers, students, rooms, lessons…) is rarely wise. Omniscol offers mass imports by copy-paste from any spreadsheet (Excel, Google Sheets, Numbers, Calc…), in CSV or TSV format. These imports are performed by clicking the buttons, usually at the top of entity listings. A few of them only export data, but most accept imports.
What can be imported?
| Entity | Screen | Typical volume |
|---|---|---|
| Teachers | Export data in CSV format | 10 - 1000 |
| Students | Export data in CSV format | 50 - 10,000 |
| Rooms | Export data in CSV format | 10 - 500 |
| Custom subjects | Export data in CSV format | 10 - 1000 |
| Lessons of a timetable | Export data in CSV format | 100 - 10,000 |
Preparing your files
Golden rules:
- One row = one entity. No merged rows, no multi-line headers.
- Follow the column order expected by Omniscol. The import screen shows the template with the columns in the target order, and you can reorder these columns on the Omniscol side to match the order of your source spreadsheet — which makes the copy-paste from Excel or Google Sheets clean, without rewriting your file.
- Some columns are read-only. They are then greyed out, intended only for exporting the data. The first column is usually the identifier of the data already stored in the database.
- Columns marked with an "*" are required. If a required field is missing, the row is ignored (not imported at creation, or deleted if it already existed in the database).
- Separators inside a cell are free in lists (multi-teacher, multi-group, multi-room lessons): comma, semicolon, slash.
- The built-in AI will clean the data, but only up to a point: try to provide clean, unambiguous data, otherwise you may be in for a few unpleasant surprises.
Typical fields per entity
Teachers
- First name, Last name (required).
- Email (recommended for invitations).
- Registration number / external ID (optional but useful for traceability).
- Subjects taught (list, free separators).
- Service hours (planned number of weekly hours).
- Main site (if multi-site).
Students
- First name, Last name (required).
- Email (recommended).
- SIS registration number (useful to avoid mixing up namesakes).
- Level / Class.
- Groups (elective, subgroup).
- Status (active, pre-enrolled, inactive).
Rooms
- Name (required).
- Site (required if multi-site — otherwise Omniscol assigns the default site).
- Capacity.
- Specialisations (list).
- Building (free text).
- Tags / comments.
Lessons
- Class + subject (at minimum).
- Duration (otherwise deduced from the start/end times).
- Day, start time, end time (to pre-position; otherwise leave empty and position later).
- Group (optional).
- Lesson type (tutorial, practical, lecture, exam…).
- Teacher(s) (free separators).
- Room(s) (free separators — yes, multiple rooms on the same lesson are supported).
- Resource(s).
- Alternating weeks (format
A/B,1/2, etc.). - Free-text comment.
After preparation
The import flow depends on the target screen. Generally, the screen fully refreshes with the new data.
For the lessons of a timetable, see Mass import of courses from a spreadsheet, which documents the dedicated four-step wizard.
Exporting
The same built-in spreadsheet mechanism extracts the data. Several options for this:
- Copy-paste to an external spreadsheet (TSV format, automatic).
- Use the buttons at the bottom to export directly to a PDF, CSV or Excel (XLSX) file.
Re-importing
Importing is not limited to an initial import. It is possible to mass import in several passes. The first column, labeled "id", holds each entity's read-only identifier in the database, which can also be found in the URLs. If you edit a row matching a given identifier, the entity's data is updated.
To add new data, just go to the very bottom of the spreadsheet, where there are always a few empty rows with no identifier attached. Pasting new data, as in the initial import, grows the table accordingly.
Re-imported entities may carry complex data that is not eligible for import/export (sometimes a read-only column exists solely to export that data). This is for example the case for time constraints on teachers, rooms, classes, etc. In that case, the identical re-injection is automatic.
This system thus lets you mass import in several passes without losing enriched data on existing entities, while still being able to create new ones or delete others.
Mass deletion
As seen for re-importing, the first "id" column identifies the different entities. If you clear a row — at least the required columns marked with an "*" — the import will delete the emptied entities. Since you can select several rows and columns, as in a standard spreadsheet, just press the Delete key to clear as many rows as you want, and thus delete the corresponding entities from the database, in bulk.