When developing a project document list, the most convenient way is often to create information within Excel. This allows project managers who may not be Revit savvy to get involved. Moreover, formulas and formatting in Excel is far easier than working in Revit schedules.
Create sheets with Dynamo
The next step is to get the Excel data into Revit and generate sheets from that list. In general, there are two possibilities for sheet creation within Dynamo. ‘Sheet.ByNameNumberTitleBlockAndView‘ requires a Sheet Name, Sheet Number, Title Block Family Type, and a View. However, if the project is very early, the sheets’ views may not have been created yet.
In this scenario, we cannot use this node and must instead use the ‘Sheet.ByNameNumberTitleBlock‘. The good thing about this node is that you don’t need to supply views for it to work, as it will create empty sheets. All that is required is Sheet Number and Sheet Name values as strings (text), along with the title block family. Note, however, that the data is not being imported as strings, for reasons we’ll discuss shortly.
Setting sheet parameters
In addition to creating the sheet, it is also possible to set various sheet parameters. For example, many organisations group sheets into drawing series for documentation purposes. In the example above, the Dynamo graph imports the data from Excel and pushes it to a “Series” parameter. This is an instance-based text project parameter assigned to the Sheets category.

Additionally, we are also setting the ‘Sheet Issue Date’ parameter. Since the values in Excel were formatted as dates, if this data were imported into Dynamo as strings, those dates would be reformatted to “October 18, 2023 12:00 AM”, which is not very useful. One solution is to change the Excel cells to be formatted as text. Another option is to reform the date using Dynamo. This can be done by following Microsoft’s syntax guidelines. For example, I am using the “dd/MM/yyyy” syntax.
Note that both of the parameters being set are of category Sheets. This differs from Title Block properties, which are properties of the title block family. If title block properties are also required to be set, refer to this tutorial.






4 Comments
Dolan Klock
Hi Paul Wintour, thank you for this tutorial. What if someone already has sheets created in the model and are implementing this later in order to control the sheet name and number from an excel and then run the script to rename renumber sheets as sheets change or get added. Is there a way to establish a link to existing sheets and numbers between excel and Revit with this script? Thanks!
Paul Wintour
It depends. If it’s something simple like sequential numbering then this is pretty easy to implement. If however, you need the naming to be based on the content of the views (i.e. drawing sets), then this gets a little more complicated as you need to know what views are on the sheet. Is this what you mean?
Mark Perry
Thanks a ton, Paul. HUGE time saver
Paul Wintour
Thanks Mark. Glad you found it useful.