Turn Your Excel into a NEO LMS Quiz: A Step-by-Step Playbook
You have a spreadsheet full of questions — a department shared bank, last term's midterm, a publisher file, or a draft you built over the summer. Now you want those questions inside NEO LMS as a real quiz. One thing to know up front: NEO LMS is now called CYPHER LMS (the product was renamed by its maker, CYPHER LEARNING; you will still see the old "NEO" name across guides and the "Import QTI" button). Either way, the platform never opens an .xlsx file. It accepts questions only through an imported QTI package. This playbook walks the whole move, end to end, including the part most guides skip: when the import only brings in half your questions.
Why NEO / CYPHER LMS can't just "open" your Excel file
NEO stores quizzes in its own database and pulls new items into a course's question bank only through an Import QTI action. A spreadsheet is just cells; it carries no answer-key semantics or question types the platform can trust. So the job is always two moves: turn the sheet into a QTI package, then let CYPHER LMS import the QTI into a specific course. The spreadsheet is the source; QTI is the bridge.
Path A vs. Path B (and why Path A wastes your afternoon)
- Path A — retype everything. Copy each question into the CYPHER LMS quiz builder by hand. It works, but for 50+ questions it is error-prone and you will hate it by question 12.
- Path B — convert, then import. Normalize the sheet into a QTI package and import it once. This is the playbook below.
The import playbook, step by step
Clean the sheet to one question per row
Delete empty rows, split any question that spilled across two rows, and keep each option in its own cell. Headers can say anything; column order does not matter.
Convert the Excel file to a NEO-ready QTI package
Upload the .xlsx to a converter that reads your layout, normalizes it, and exports a QTI package. ExamParser does this without a fixed template — you upload the sheet you already have, and it emits a QTI 2.1 zip CYPHER LMS can import.
Open the course and create the quiz shell
In CYPHER LMS, question banks are tied to a course. From the left panel open Assignments, click add to create a new quiz, set its title, and open the quiz assignment page.
Import the QTI into the question bank
On the quiz assignment page, open the Questions tab (the question bank), then click Import QTI in the middle of the page and select the downloaded .zip. Questions appear in the bank immediately.
Verify before you trust it
Check the question count against your sheet, spot-check the answer keys, and preview one question. Fix anything wrong back in the spreadsheet, not inside CYPHER LMS.
When the import is partial (the part nobody warns you about)
It is common to import a 60-question sheet and see only 54 appear. Rows get dropped during conversion when they cannot be parsed cleanly. Fix the sheet, not the platform:
- Answer key out of range. If the correct-answer index points past the last option, that row is skipped. Re-check the 1-based index (first option = 1).
- Merged cells in the options area. A merged option cell breaks column mapping. Put each option in its own cell.
- Stray commas or quotes. An unescaped comma inside a question can split one row into two. A good normalizer wraps these automatically; a raw export will not.
- Unknown question type. A free-text type label that is not recognized gets dropped. Standardize to the supported type codes before exporting.
Re-export the corrected sheet and re-import. Treat the spreadsheet as the source of truth — edit there, not inside CYPHER LMS — so the next term's import starts clean.
After the questions are in NEO / CYPHER LMS
- Reuse across courses by importing the same QTI into each course's question bank where you need it.
- Preview before publishing — answer keys and formatting are easiest to confirm in the player.
- Keep the sheet as the canonical source so edits and re-imports stay simple.
Meet the tool built for this
ExamParser is a converter purpose-built for moving exam content between spreadsheets and LMS platforms. Its Excel flow reads whatever layout you already use, normalizes each row into a standard structure, and exports a QTI package CYPHER LMS (NEO) can import through Import QTI — no reformatting template required. If you work across multiple platforms, the same source sheet can also feed Canvas, Moodle, and others.
Browse more import guides at examparser.com/blog/en.
Frequently asked questions
Can NEO LMS import an .xlsx file directly?
No. NEO LMS (now CYPHER LMS) does not open spreadsheets. Its question bank accepts questions through an imported QTI package, so the workflow is always: turn the Excel sheet into QTI, then import the QTI at the course level.
Why did only some of my questions appear after import?
When the source sheet has an answer index past the last option, a merged cell in the options area, or an unrecognized question-type label, those rows are dropped during conversion. Fix the offending rows, regenerate the QTI, and re-import. Treat the spreadsheet as the single source of truth.
Can I import into a shared or personal question bank?
In CYPHER LMS, question banks are tied to a course. You import the QTI from inside a specific course's quiz (Assignments → Questions tab → Import QTI). There is no separate "universal" question bank upload.
Which QTI version does NEO / CYPHER LMS accept?
CYPHER LMS (formerly NEO LMS) accepts QTI packages, including QTI 2.1 and QTI 1.2. A well-formed QTI 2.1 zip is the safest choice for the Import QTI step.
Ready to move your sheet?
Upload the Excel file you already have — no reformatting required — and download a NEO-ready QTI package in minutes.
Try ExamParser →