Based on documentation the excel must have a table. If you check both Excel Online Onedrive: https://learn.microsoft.com/en-us/connectors/excelonline/ and Excel Online Business: https://learn.microsoft.com/en-us/connectors/excelonlinebusiness/
the actions "get row" and "list row present in table" have the parameter "table" as required
Can you control the excel format? If the excel has data in a worksheet you just need to add a table using the data range you need:
just make sure you add a proper name to it:
If you can't control the format of the excel it may become more challenging, but you are on the right track just need to use the name from the previous action:
if the file name and table name don't change you don't need the previous step
If your users can't guarantee an excel fixed format with the same table name or same worksheet name, you can allways use a condition to email or log an error
For Sql server you just need to find a key on your Excel that matches your Sql table pk
Other suggestions would be to use CSV: https://blog.devgenius.io/parse-csv-files-as-json-objects-in-azure-logic-apps-and-power-automate-4d99d23306f7 or a third party connector like Cloudmersive: https://cloudmersive.com/examples/excel-spreadsheet-get-rows-and-cells-in-power-automate to read direct from the worksheet: