cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
bBI
Regular Visitor

Excel script error - getWorksheet() throws string only error when inputting an index

Hello everyone,

 

Trying to create a flow that will rename the first worksheet of any excel file that is dropped into a sharepoint folder.

 

I had Excel Script record my actions which created the following code:

 

function main(workbook: ExcelScript.Workbook) {

let name_of_worksheet = workbook.getWorksheet("name_of_sheet");
// Rename worksheet to "new_name_of_sheet"
name_of_worksheet.setName("new_name_of_sheet");

}

 

I need the code to be dynamic (it will always be the first sheet but not always have the same name (colleagues working with different languages settings will do that))

 

However when I replace "name_of_sheet" by the index (i.e. workbook.getWorksheet(1) I get the following error message:


[2, 36] Argument of type '1' is not assignable to parameter of type 'string'.

 

How can I get around this? How can I set my Excel Script so it will always rename the first worksheet in excel file that are dropped in a sharepoint?

1 ACCEPTED SOLUTION

Accepted Solutions
bBI
Regular Visitor

The problem above was because I thought Power BI needs the sheet names to all be the same.

 

However you can just connect to one file and then in the Transform File section replace the sheet selecting step from name reference to index reference, e.g.:

 

=Source{[Item="Page1",Kind="Sheet"]}[Data]

=Source{0}[Data]

Step-by-step explanation

View solution in original post

2 REPLIES 2
Yutao
Microsoft
Microsoft

@bBI - Not sure if you have found your answer yet... There are two ways to reference the first worksheet in your workbook:

let firstSheet = workbook.getFirstWorksheet();

or

let firstSheet = workbook.getWorksheets()[0];

 

Then you can use the firstSheet to do whatever your want (renaming, etc.).

 

bBI
Regular Visitor

The problem above was because I thought Power BI needs the sheet names to all be the same.

 

However you can just connect to one file and then in the Transform File section replace the sheet selecting step from name reference to index reference, e.g.:

 

=Source{[Item="Page1",Kind="Sheet"]}[Data]

=Source{0}[Data]

Step-by-step explanation

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Users online (2,487)