Skip to content

Schedule Export

Schedule Export enables a round-trip workflow between Revit schedules and Excel. Export any schedule (or multiple schedules at once) to a formatted .xlsx file, make bulk edits to parameter values in Excel’s familiar interface, then import changes back into Revit with a full change preview and single-transaction undo support.

Find Schedule Export on the Amorphous ribbon tab in the Data Tools panel.


  • Single and multi-schedule export - Export one schedule or batch-export multiple schedules into a single workbook with one sheet per schedule
  • Read-only field protection - Formula, count, and calculated fields are clearly marked with gray italic headers, comment annotations, and locked cells
  • Change detection and preview - Import compares Excel values against the current Revit state and displays a detailed change list before applying
  • Single-transaction import - All changes commit in one Revit transaction, allowing full undo with Ctrl+Z
  • Instance and type parameter support - Reads and writes both instance parameters and type parameters
  • ElementId parameter resolution - Intelligently resolves display names back to Revit elements (FamilySymbols, Materials, Levels, Phases) when importing
  • Non-itemized schedule handling - Grouped schedules export unique elements only, with a clear warning note
  • Smart file defaults - Default export path uses the project name and schedule name in the Downloads folder
  • Modeless window - Stays open while you work in Revit, with drag-to-move and Escape-to-close

  1. Open Schedule Export from the ribbon
  2. Select a schedule from the dropdown. If the active view is a schedule, it is automatically selected.
  3. Click “Export to Excel” and choose a save location. The default path is Downloads/{ProjectName}_{ScheduleName}.xlsx.
  4. Edit writable cells in Excel. Read-only columns have gray italic headers with a comment explaining why, and their cells have a light gray background with sheet protection preventing edits.
  5. Click “Open File” on the status bar to launch the exported file directly
  1. Click the “Multi” toggle in the top-right corner to switch to multi-select mode
  2. Select schedules using the checkbox list, or use the Select All / Clear links for bulk selection
  3. Click “Export N Schedules” and choose a save location. The default path is Downloads/{ProjectName}_Schedules.xlsx.
  4. Each schedule is written to its own worksheet, named after the schedule

  1. Select the same schedule used for export
  2. Click “Import from Excel” and select the modified .xlsx file. The tool defaults to the last exported file path.
  3. Review the change preview grid showing the field name, old value, and new value for each detected change
  4. Click “Apply Changes” to commit, or Cancel to discard
  5. Use Ctrl+Z in Revit to undo all changes as a single operation
  1. With Multi mode active, select the schedules to update
  2. Click “Import from Excel” and select the multi-schedule workbook
  3. The tool matches worksheet names to schedule names and detects changes across all matched sheets
  4. The preview grid includes a Schedule column showing which schedule each change belongs to
  5. Click “Apply Changes” to commit all changes across all schedules in a single transaction
From the developer

The single-transaction design was a deliberate choice. I wanted the import to feel safe, so if anything looks wrong after applying, one Ctrl+Z rolls back every change across every schedule. No partial states to worry about.


Each exported schedule produces a data sheet with the following structure:

ColumnDescription
_ElementId (hidden)Internal Revit element identifier. Do not delete this column.
Visible columnsOne column per schedule field, matching the schedule’s column headers

Fields that cannot be edited (formulas, counts, and calculated values) are visually distinguished:

IndicatorDescription
Gray italic headerThe column header text is styled in gray italics
Header commentA cell comment explains why the column is read-only (formula, count, or calculated)
Light gray cellsData cells have a #F5F5F5 background
Locked cellsSheet protection prevents editing these cells

Writable cells are explicitly unlocked, so you can freely edit them while sheet protection is active.

When exporting a non-itemized (grouped) schedule, only unique elements are included. An orange italic warning note appears below the data to indicate this.

Multi-schedule exports produce one data sheet per schedule, plus a hidden _Metadata sheet used internally for import mapping.


ScenarioRecommended Approach
Bulk parameter editingExport a schedule, populate or correct parameter values across hundreds of elements in Excel, then import corrections back
Data validationExport to Excel, use Excel formulas or macros to validate data, fix issues, and import the results
Cross-schedule batch updatesExport multiple schedules, make coordinated edits across them, and import everything back at once
External data integrationMerge data from external sources (databases, other spreadsheets) into the exported template and import the result
From the developer

The “export, fix in Excel, re-import” loop is the workflow I use most on my own projects. It is so much faster than clicking through individual cells in Revit’s schedule view, especially when you need to fix the same parameter across hundreds of elements.


  • Import soon after exporting - Import as soon as possible after exporting to minimize the chance of model changes invalidating the element IDs
  • Do not delete the _ElementId column - The hidden first column is required for the import to match rows back to Revit elements
  • Use Excel tools freely - Sorting, filtering, conditional formatting, and formulas all work fine on the exported data. Just keep the column headers and _ElementId column intact.
  • Check the change preview carefully - The import preview shows every value that will change. Review it before clicking Apply.
  • Use multi-export for coordinated edits - When changes span multiple schedules, exporting and importing them together ensures consistency
  • Unit-aware values - The tool exports and imports values in your project’s display units, so lengths, areas, and other unit-aware parameters appear in the same format as in the Revit schedule

LimitationDetails
Cannot add or delete rowsThe import only modifies existing parameter values. You cannot create or remove elements through import.
Cannot reorder columnsSchedule structure (column order, grouping, sorting) cannot be modified through the Excel file
Key schedules not supportedKey schedules are excluded from the schedule list
Non-itemized schedules export unique elements onlyGrouped rows are collapsed to unique elements. The count information is not preserved in the export.
Titleblock and keynote schedules excludedTitleblock revision schedules and internal keynote schedules are filtered out of the schedule list
Hidden fields excludedSchedule fields that are hidden in Revit are not included in the export
From the developer

I plan to add support for creating new rows (elements) through import in a future update. If that would be useful for your workflow, or if there are other limitations getting in your way, let me know on GitHub.


”Missing _ElementId column” error on import

Section titled “”Missing _ElementId column” error on import”

The file was not exported by Schedule Export, or the hidden _ElementId column was deleted from the workbook.

Solution: Re-export the schedule to generate a valid template with the required _ElementId column.

If elements were deleted from the Revit model between export and import, they are silently skipped. The status summary reports how many elements were skipped.

Solution: This is expected behavior. Re-export the schedule if you need an updated template that reflects the current model state.

The parameter may be a read-only field (formula, count, or calculated value). These columns are protected in the exported file and cannot be modified through import.

Solution: Check whether the column header is styled in gray italics. If so, the value is computed by Revit and cannot be overridden through Schedule Export.

The import compares Excel cell values against the current Revit parameter values. If they match exactly, no changes are reported.

Possible causes:

  • The values in Excel were not actually modified
  • The values were modified but match the current Revit state (e.g., another user already made the same changes)

Solution: Verify that the Excel file contains the intended edits and that the correct schedule is selected.