Skip to content
ARTINEXT

BIM & Revit

A Revit schedule to Excel export plugin is judged by the trip back

An export that opens in Excel works. A round trip that knows how Revit stores each value is understood, and the gap between the two is where model data gets damaged.

Digital Systems StudioPublished

The team that builds output-management, data and automation tools for Revit, for architecture, structural and MEP offices.

Contents
  1. The short answer
  2. Revit's own export
  3. Setting the schedule up
  4. Cleaning the file in Excel
  5. A one-way street
  6. What a plugin adds
  7. Protecting the trip back
  8. Managing outputs
  9. Buy, script or build
  10. Conclusion
  11. FAQ

A Revit schedule to Excel export plugin writes a schedule straight into an .xlsx workbook, and the better ones bring the edited values back into the model. Revit can do a rough version of the first half on its own: File, Export, Reports, Schedule saves a delimited text file that Excel can open. It can't do the second half at all. Nothing in the native export writes a spreadsheet back into the model.

The export is rarely where things go wrong. The trip back is. A value typed in millimetres, a row matched to the wrong element, a type parameter edited on one line that quietly changes every door of that type.

The founder's first research project needed generated data, and the first 600 data points were built by hand. The response: "600? Really? That's it?" Instead of adding more rows, he built a generation system, which ended at roughly 22,000 configurations. Copying values between a schedule and a spreadsheet by hand is the same trap at office scale. Stopping when something works is the wrong finish line. Stop when you understand it.

Doors along a corridor, each one a row in the door schedule before a Revit schedule to Excel export

What Revit's own schedule export gives you

The native export only works from a schedule open in the active view. Choose File, Export, Reports, Schedule, and Revit offers a handful of options:

  • Column headers: export them on one row or across several.
  • Group rows: include or drop group headers, footers and blank lines.
  • Field delimiter: tab, comma or another character.
  • Text qualifier: the character that wraps each cell's text.

The result is a delimited text file, not an .xlsx workbook. The API behaves the same way: ViewSchedule.Export writes the schedule to a text file. A sheet list is a schedule too, so exporting a list of sheets to Excel works the same way and has the same limits.

Set the schedule up for the trip back

Most export problems are decided when the schedule is built, not when it's exported. A schedule meant for Excel should be built for a program to read, not for a sheet:

  • One row per element: turn on Itemize every instance, so no row is a group of doors standing in for one.
  • Identifying fields: Family and Type, Mark and Level, so a person can find each row in the model.
  • Unformatted values: unit symbols off, and rounding set to the precision the data actually needs.
  • Only the fields someone will read or edit: every extra column is one more place for a wrong value to come back from.

Revit schedules can't show an element's ID as a field, which is why a round trip needs a plugin or a script to add it. That one missing column is the difference between a report and a data source.

Why the exported file needs cleaning in Excel

The text file stores what the schedule shows on screen, not the raw data. So the same few problems appear once it opens in Excel:

  • Numbers stored as text: if the schedule shows unit symbols, a value like "2400 mm" is text, and formulas skip it.
  • Extra rows: group headers, subtotals and blank lines sit between the data and break sorting and filtering.
  • Multi-row headers: grouped column titles land on several rows and have to be merged by hand.

Most of this can be prevented before the export. A copy of the schedule made only for exporting, with no grouping, no subtotals and no unit symbols, produces a file Excel reads as numbers straight away.

The native export is a one-way street

The text file has no link to the model. If the team corrects values in Excel, those corrections exist only in the spreadsheet until someone types them into Revit, one by one.

That retyping is where the weeks go and where the errors start. Anyone moving hundreds of values from one window to another will eventually skip a row, and nothing reports it.

Dynamo is the usual first fix. It ships nodes that read and write Excel files directly, so a graph can export a schedule's elements with their IDs and read the edited file back in. It works well for one project and one layout, and it inherits every risk in the round-trip list below.

What a Revit schedule to Excel export plugin adds

A plugin removes the steps in the middle, and in exchange takes responsibility for the data being right. A complete one usually covers:

  • Direct .xlsx output, with numbers as numbers and headers on one row.
  • Several schedules in one workbook, each on its own worksheet.
  • Batch export of every schedule in one project or several, named consistently.
  • Element IDs in a hidden column, so every row finds its element on the way back.
  • Import from Excel back into Revit, with a report of what changed and what wasn't written.

Established tools such as Ideate BIMLink and DiRoots' SheetLink cover this round trip, and the Autodesk App Store lists simpler plugins for the one-way export. As the Revit model checker article notes, reviewing parameters in a spreadsheet is one of the most common reasons offices use them.

What a round trip has to protect

A close-up of a data table on a monitor, for a Revit parameter round trip

Most guides stop at the export. The real risk is on the way back, and five things decide whether the model's data survives it:

  1. Element identity: rows must be tied to elements by ElementId or UniqueId. Matching by name or Mark breaks at the first duplicate.
  2. Stored units: Revit stores lengths in decimal feet whatever the project units. A tool that writes a millimetre value without converting it records every dimension hundreds of times too large.
  3. Read-only fields: Area, Volume, Count, calculated fields and formulas can't be written. The tool should lock those columns, not silently ignore changes to them.
  4. Type versus instance: changing a type parameter on one row changes it for every instance of that type. Those columns need to be marked clearly in the spreadsheet.
  5. Deleted and added rows: deleting a row in Excel doesn't delete an element, and a new row doesn't create one. The tool should report both.

An export that opens in Excel works. A round trip that respects all five is understood, and only the second kind is safe to run on a live model.

A schedule is one output among many

In most offices a schedule is only one of the outputs rebuilt at every stage. Sheet lists, door lists for a consultant, area tables for the client and a PDF set for every issue all get produced again and again.

A Revit output management tool produces all of them under one naming rule, into one destination folder, with a record of what was issued. When the same data has to reach management regularly, it belongs on a dashboard, not in an email attachment.

Buy a tool, write a Dynamo graph, or build a plugin

Documents and tables reviewed on a desk before choosing an Excel export tool

If you export one schedule once a month to check a number, Revit's own export and a few minutes of cleaning in Excel are enough. If an off-the-shelf tool already covers the round trip you need, buy it. In neither case does anyone need to build anything, or hire anyone, including us.

A Dynamo graph suits one workflow on one project; custom Dynamo script development covers Excel round trips in documentation work. A custom plugin makes sense when an outside process dictates the spreadsheet's shape, such as an estimating template or a client's handover format, or when data has to come back into the model along a controlled path with a report. That's custom Revit plugin development.

Conclusion

Revit's schedule export is one-way inside Revit and needs cleaning inside Excel. A plugin fixes both, as long as it takes the trip back seriously: identity, units, read-only fields, and the difference between type and instance. A tool that works isn't enough. It has to understand how Revit stores the data it's writing.

FAQ

Can Revit export a schedule to Excel without a plugin?

Indirectly. File, Export, Reports, Schedule saves a delimited text file that Excel can open, but Revit doesn't write an .xlsx file itself.

Why do numbers show up as text after exporting to Excel?

Because the text file stores values as the schedule displays them, unit symbols included. Turning the unit symbols off in the schedule's field formatting before exporting fixes it.

Can edited Excel data be imported back into Revit?

Not with Revit's own tools. It needs a Dynamo graph or a plugin that ties each row to its element by ID and converts units before writing.

Which parameters can't be written back from Excel?

Read-only fields such as Area, Volume and Count, calculated fields and anything driven by a formula. Type parameters can be written, but a change applies to every instance of that type.

Can several schedules be exported at once?

Revit's own export handles one active schedule at a time. Exporting several schedules, or several projects, into one workbook needs a plugin or a script.

Do I need a plugin for occasional exports?

No. If the export is only for review and nothing goes back into the model, the native export plus a copy of the schedule without grouping or unit symbols is enough.

Back to top

Next step

Tell us the process you'd change first

Bring the workflow, not the spec. If a tool is the wrong answer, we'd rather tell you that in the first conversation than at the end of a build.

We are not a fit if you want an off-the-shelf template or a generic plugin installed without a process review.