Create views by using excel spreadsheets

Is this possible to create views by using excel spreadsheets .

Yes it is possible. The big question is what type of view do you want to create, and what info will be in the spreadsheet.

For Instance:

Assume you want to create a bunch of floor plans from a spreadsheet. The spreadsheet might have two columns - one for the view name and one for the associated level name. You would first create a Dynamo Script to read these two lists of strings in from the spreadsheet. Next, you would have to add to the script a section that takes the Level names and finds the associated Revit level elements (Archi-Lab package has a node called “Get Level By Name” that will do this for you). Now that you have a list of level elements, feed that into the “FloorPlanView.ByLevel” node to create all of the floor plan views. This will output the view elements that are created. Next, feed that list of created views into a “SetParameterByName” node, feed in a string “View Name” as the parameter to be set, and feed in the list of view name strings taken from excel as the parameter values. This will rename all of the views you just created to the values set in Excel. Note that you will need to ensure that none of the View name values in excel are identical as this will throw an exception. If you do want some views to have the same names on sheets, then you can set the parameter “Title on Sheet” instead.

Hope this helps.

I am a newbie in dynamo. I am following steps as per description given by Ben.
I get following messege while run the script.


Swapnil, You have not connected any elements to the Element.SetParameterByName node

I’m not sure about this, but, The Get Level By Name node probably needs those levels to be present in the project and they probably aren’t.

However, your intent isn’t clear to me. What exactly are you trying to achieve?

If you just need to rename levels, then try something like this…


Sorry Swapnil-

The Get Levels by name node does not work on Lists. It only works on a single string to produce a single level. If you want to use it on a list of level names, you need to feed it through a node. See attached. This will work to do what you want.

create views





Hi Ben
I would like to view your image but I am unable to enlarge the file.

@cadman6735 Here is the clear image.

Thank you very much

Hi everyone - I have been looking for something exactly like this, but I have had no luck with it running.

We are looking to create views based on copied/monitored levels and to change the View Name based on an excel file that looks similar to the following. Column A is the Level in Revit, Column B is the View Name and Colums C is the Template that I would like to associated with each respective level. The levels already exist, as do the Templates in the Revit file.


Any help is really appreciated. As of right now I seem to get stuck on the Element.SetParameterByName. Also, I stripped down the code to just try and get Views setup.