Every project has data that is easier to maintain in a spreadsheet than in the model: room programmes, door hardware, equipment lists, classification codes, cost codes. Here is how to get it into Revit - and back out - without retyping it.
The three ways to get spreadsheet data into Revit
1. Schedules (built in, free, fragile)
Create a schedule with the fields you need, export it (File → Export → Reports → Schedule) to a delimited text file, edit, then… there is no built-in import. You can paste a column back into the schedule view cell by cell, which works for a dozen rows and fails for a thousand. There is no validation: a typo in a length field silently fails or, worse, writes the wrong value.
2. Dynamo or pyRevit scripts (free, do-it-yourself)
Dynamo ships with Revit and can read Excel (Data.ImportExcel) and write parameters. It is a good fit if someone in the office maintains the graph, handles units, read-only parameters, type vs instance, and missing elements - because every one of those will come up on a real project.
3. A dedicated link add-in (productised)
Tools like Parapet Link and Ideate BIMLink exist because the edge cases are the whole job. What a good link tool does:
Reads Excel (.xlsx), CSV and - in Parapet Link - Google Sheets directly, so consultants can keep editing in a shared sheet.
Lets you choose the key column that identifies the element: Element ID, Mark, Room Number, Type Name…
Maps columns to parameters, including shared and project parameters, and can create missing shared parameters.
Validates before writing: wrong data type, read-only parameter, element not found, unit mismatch - flagged per cell, with a log you keep.
Writes in one transaction so it is one Revit undo.
Exports a selection to the same formats and round-trips edits back in.
Step by step with Parapet Link
Pick a source. In the Parapet ribbon tab click Link; choose an Excel workbook, a CSV file, or sign in to Google and choose a Sheet. Re-link later in one click.
Preview and map. See the rows, pick the key column, map every column to a Revit parameter. Fuzzy matching ("Fire Rating" → Fire Rating, "FR" → your shared parameter) does most of it.
Validate. Parapet Link checks every cell against the target parameter's type and units and tells you exactly which rows will be skipped and why.
Push. One transaction, one undo. Or go the other way: export the selected elements to Excel/Sheets, review offline, pull corrections back.
The round trip: spreadsheet in, validated values into Revit, export and pull corrections back.
Retyping vs linking
Retype from the spreadsheet
One element at a time, or one schedule per category
Typos land in the model silently
No record of what changed
Do it again when the consultant sends v7
VS
Parapet Link
Key on Mark / Number / Element ID - any category, any order
Every cell validated against the parameter type and units
One transaction, one undo, a log you keep
Re-link v7 in one click - Google Sheets stays live
Typical jobs
Room programme from the client's spreadsheet → room names, numbers, departments; area check against target.
Door schedule maintained by the hardware consultant in Google Sheets → door parameters, live.
Equipment lists from MEP engineers (CSV exports) → families and spaces.
Classification (Uniclass, OmniClass, MasterFormat) and cost codes applied by type across the model.