Import Excel into Revit

Most teams do this by opening an add-in, pointing it at a spreadsheet, and clicking through a mapping wizard. Or building a Dynamo graph. bim-cli is one command: pipe the spreadsheet into the model.

Pipe an Excel file into a running Revit model and update parameters across any number of elements -- no add-in UI, no Dynamo graph, no copy-paste.

The pipeline

read Excel, write parameters to Revit
bim excel read params.xlsx | bim revit param set --by Mark
{"ok":true,"updated":47,"skipped":2,"errors":0}

bim excel read streams rows from the spreadsheet as NDJSON. bim revit param set --by Mark matches each row to a Revit element by its Mark value and writes the remaining columns as parameters. Column headers must match Revit parameter names.

Example: update door hardware specifications

Your door schedule lives in Excel. Column headers match Revit parameter names:

Mark Hardware Set Fire Rating Comments
D-01 HW-3 90 min Confirmed
D-02 HW-1 60 min Pending
D-03 HW-3 90 min Confirmed

One command writes all rows back to the model:

write hardware specs from Excel into Revit
bim excel read door-hardware.xlsx | bim revit param set --by Mark
{"ok":true,"updated":3,"skipped":0,"errors":0}

Each column becomes a parameter write on the matched element. If a column header doesn't match a writable parameter, that column is counted in skipped and the rest continue.

Round-trip workflow

Export the current schedule, edit in Excel, import back:

export door schedule to Excel
bim revit schedule export "Door Schedule" | bim excel write doors.xlsx

edit doors.xlsx in Excel

import updated values back into Revit
bim excel read doors.xlsx | bim revit param set --by Mark

The Mark column that identifies each row on export is the same key used to match elements on import. No mapping wizard, no extra config step. To export a schedule first, see export Revit schedule to Excel.

Agent use

An AI coding tool can run the full round-trip without you touching the terminal:

paste into your AI coding tool
Update Revit element parameters from an Excel file using bim-cli.

Step 1 -- install bim-cli if not already installed: powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://bimcli.com/install.ps1 | iex"

Step 2 -- refresh PATH: pwsh: $env:Path += ";$env:LOCALAPPDATA\bim-cli"

Step 3 -- open Revit with the model you want to update.

Step 4 -- pipe the Excel file into Revit: bim excel read params.xlsx | bim revit param set --by Mark

The Excel file must have a "Mark" column matching element Marks in the model. All other columns are written as Revit parameters by their header name. Columns that don't match a writable parameter are skipped without error.

Install

iwr -useb https://bimcli.com/install.ps1 | iex

Works on Revit 2024, 2025, and 2026. No admin rights. No add-in install wizard. The installer places the add-in in %APPDATA%\Autodesk\Revit\Addins\ and nothing leaves your machine.