Importing questions from CSV
Bulk-loading questions from a spreadsheet, with validation before anything is written.
When to use it
When you already have a question bank — a past paper set, a departmental bank, a publisher file. Importing preserves your wording exactly, which generation cannot promise.
The import flow
- 1Download the template
It carries the exact column names and an example row. Do not rename columns.
- 2Fill it in
One question per row: text, type, options, correct answer, marks, Bloom level, concept tags.
- 3Drop the file in
Nothing is written yet — the file is parsed and validated first.
- 4Read the preview
Valid rows, rows with errors, and duplicates are separated. Errors are reported per row with the reason.
- 5Commit
Only valid rows are written. The commit is reversible with a single undo.
Rows that get blocked
- A correct-answer column pointing at an empty option — the question could never be graded.
- A select-all question in a quiz that cannot grade multiple selection.
- An unrecognised question type or Bloom level.
- Marks that are missing or non-numeric.
Blocking rows are hard stops, not warnings — they are distinguished from rows that merely need attention. A failed import returns an annotated file with the offending rows marked, rather than rejecting the whole upload.
Duplicates
Rows matching a question already in the bank are flagged rather than silently added, so re-importing a corrected file does not double your bank.