Below is how I would likely build this.
See full flow below. I'll go into each of the actions.

I would use the trigger When a file is created (properties only) so each time you upload/create a new Excel file it will trigger the flow. In my trigger below it's looking for new files in my Documents library within the folder called Drop Excel Files - so any file created in that folder (including within subfolders) will work.

In addition - I would also add a Trigger Condition to ensure the flow only runs if the file uploaded is an Excel file. To do this, go into Settings then add a Trigger Condition and use the following expression.
@endsWith(triggerOutputs()?['body/{FilenameWithExtension}'], '.xlsx')


For the Table - As long as your Excel file has the table content starting at cell A1 and the first row contains your headers, then this should dynamically select your range of data and use the existing column headers.
=$A$1:INDEX($1:$1048576,COUNTA($A:$A),COUNTA(1:$1))
