Creating a door schedule Revit / Excel

Hi Everyone,
I am having some trouble getting my graph to work
I’m trying to create a graph that will take my Door Schedule from Revit and put is in an excel file so My project Manager can edit the schedule. I have its kind of working but I can’t get it to sort by the phase of the project and I want it to keep the new construction doors, but remove the other doors from the list? I have tried 4 or so ways of sorting that I found in the internet, but all come up “null” ….
Things that work

  1. I have a two-way connection from Revit to excel and excel to Revit working.
  2. I have all the perimeter of the door schedule showing up in excel and in the right format.
  3. I have only the text base perimeter editable in excel.
    Not working
  4. All the doors show up from all Phases of the project in the excel file.
  5. If I use “list.GroupByKey ” it breaks the excel format by putting all the data in one long column.
  6. If I use “= =” it says all items are false and everything stops working


Hi @clounsbery,

Your screenshot is not showing the names of your nodes. This can be fixed by zooming in on your Dynamo graph until you can see the names and then hitting the screenshot button.

Could you re-share your screenshot and/or your Dynamo graph so we can take a better look at it?

1 Like

Oh Sorry about that.

Here is my graph

XL TO REVIT Door schedule.dyn (188.4 KB)

I was able to filter by Phase Created using these nodes. Is this what you were looking for?

XL TO REVIT Door schedule.dyn (193.1 KB)

When I ran the graph the “List. GetitemAtlindew” block gave me this

(Warning: List.GetItemAtIndex operation failed. Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index)

You have the String that is attached to List.IndexOf as “Project Completion”. You need to change it to “New Construction” or whatever phase you want to get. :slight_smile:

Thanks, you so much! If you can’t tell I’m new at dynamo and sorry for being a noob.

I did have one question: do I have to add a section to my graph to keep the headers in my Excel ?

You’re welcome! You are going down the right track :slight_smile:

If you want to customize your headers, the I would change the Data.ExportExcel Node Boolean for overWrite from True to False. That way, it will only load in new data without erasing your headers.

If you want it to overwrite all the door data, what I would recommend is creating a list from all your Parameter names and add it to the top of your list that you are exporting to Excel. There is a node called AddItemToFront that you can use to add it to the top of your list after your List.Transpose node.

When I tried it, both methods worked well. I chose to use the latter because the header info is consistent. I used a List.RestOfItems node to update the parameters by the values that come after the header.

Here is the graph, let me know if it works!
XL TO REVIT Door schedule.dyn (205.7 KB)

Dude, you are awesome…! Thank you Again

the last thing I have to work out is the Excel sheet is showing the door width as (3) not (3’-0"), is that an excel thing or is that something I have to add in the graph?

XL TO REVIT Door schedule (1).dyn (199.3 KB)
DOOR HARDWARE.xlsx (10.6 KB)

You’re welcome!

You would have to add it in. Revit stores measurements as numbers (not feet and inches)

Springs package has a Feet.ToFraction node that will handle that. It also has a Fraction.ToFeet if you want to feed it back into the Revit model.

Okay thanks i’ll try that out and you have been a big help with fixing my graph.

Thanks so much, your’e one awesome person.