you could make use of a macro which is called at the beginning of the script. this macro would add a new tab ("SheetNames ") to the excel file with a field called "SheetNames". then the macro would loop through all the exceltabs and adds all the Tab names to the field "SheetNames" and then it saves the excel file.
This would give you the opportunity to load all the tabs at once within a for next loop in script without even knowing how much tabs are present in the excelfile and how they are named!
Just realized that my solution is for Qlikview not Sense. In order to get it work in qliksense you will need to outsource the below mentioned vbs code to an external vbs file and then calling the macro via a cmd command in Sense script!!
Following solution is based on Qlikview:
let vSheetNames = Get_Sheet_Names();
(ooxml, embedded labels, table is SheetNames);
Load Concat(Chr(39) & SheetNames & Chr(39),',') as Field_Names
Let vFields = Peek('Field_Names',0,'Temptable');
DROP Table Temptable;
for each i in $(vFields)
(ooxml, embedded labels, table is [$(i)]);
set XLApp = CreateObject("Excel.Application")
set XLDOC = XLApp.Workbooks.Open ("C:\Users\Admin\Desktop\getSheetNames.xlsx") 'Please adapt here
XLApp.Visible = False
Set objWorkSheet = XLDOC.Sheets.Add
objWorkSheet.Name = "SheetNames"
XLDOC.WorkSheets("SheetNames").Range("A:E").EntireColumn.NumberFormat = "@"
For i = 1 To XLDOC.Sheets.Count
XLApp.Cells(i, 1) = XLDOC.Sheets(i).Name