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?
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]
@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.).
WarrenBelz
146,645
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
65,997
Most Valuable Professional