Help Needed: Creating Sheets from Multiple Excel Tabs & Parameter Mapping

Hi everyone,

I am working on a script to automate Sheet creation and populate Schedule parameters (like “Sheet Issue Date”) from an Excel file. I am using Data-Shapes for the UI and Rhythm for the sheet creation.

I have two main issues I’m stuck on:

  1. Multiple Tabs: My Excel file has several tabs (Worksheets). Currently, my script only reads the first one. How can I modify my Data.ImportExcel logic to bring in all tabs at once or let the user select specific tabs from the Data-Shapes UI?

  2. Missing Rows: My Revit Schedule is only showing the first two sheets, even though my Excel list has over 20 rows. I’ve checked the Lacing (set to Longest), but it still seems to stop early.

I’ve attached a screenshot of my current graph and a snippet of my Excel structure. Any advice on how to connect these multiple data streams to my Element.SetParameterByName nodes would be greatly appreciated!

Packages used: * Data-Shapes

  • Rhythm

Thanks in advance for the help!

From what I could see in your Excel part of the issue was you were targeting the wrong column numbers - remember zero based indexing means A = 0 etc. In your email you sent, I could see that number was in column index 2, and name in 3 (but you specified 1 and 2).

I’ve attached how I’d go about such an approach. If you need to get all Worksheet names and can’t predict what the user will call them you will need Python and/or a package like pandas available that can achieve this. I’ve got some nodes in Crumple that do this, but need pandas available on the computer. In my sample I’ve just used an assumed worksheet name system with a number on the end.

I generally make dynamo scripts that create sheets instead get the user to select an actual Revit titleblock as an input vs relying on a dropdown from a custom package (as nice as it is). I’ve also added a filter to get rid of any sheets that exist by number prior to creation.

Create sheets_R25.dyn (52.0 KB)

SHEETS.xlsx (10.4 KB)

im still getting this error and downloaded panda package too

I’ll leave this here just because.

:down_arrow:

i ADDED but still not sure which part is adding number to my sheet randomly

I believe this is a different question / issue(?).

Bit hard to tell without seeing your outputs (or inputs).

Maybe your Lists (Sheet Number and Name) aren’t of equal length and
i believe Revit will use the last used number +1.

While the sheet creation portion of the script is functioning correctly, I am encountering an issue with the schedule data. The script is currently only populating two columns in the schedule, even though the Excel source contains more than three columns of data. I have attempted to adjust the index numbers and list inputs, but the additional parameters are not being recognized or updated in Revit.

Basically I want to add multiple columns to my schedule from excel sheet I mean sorry for confusing

This is coming down to your specific problem and setup i think. Compare the dataset i sent you to your own data (dont just run my script in your model). My script works in my dataset in my testing.

Dont bother with pandas for now, manually specify worksheet names. Its a whole different issue and could be many reasons why it wont load - lots of threads on the forums for those potential reasons. I generally dont troubleshoot python package installs as its often machine setup issues i cant troubleshoot from my side.