There's not direct way to do this--partly because you cannot insert new rows without code. Now you could do this with Qdabra qRules, which doesn't require you to write code, but does USE code (C#) to accomplish what it does. You can copy multiple rows from Excel and paste them into a text box, which the code would then parse, adding rows and populating IDs. However, this doesn't work without setting the text box to allow Multi-Line. Pasting multiple rows from Excel does not create any kind of separator between the values unless you have multi-line turned on, then it adds a newline between values.
One other option is to have the Excel columns match the InfoPath columns. Then the user can insert the correct number of rows, select the table in Excel and paste it directly into the InfoPath table (provided it is a repeating table and not a repeating section, and you are in the rich client and not the web client).
There are ways around, but it doesn't sound like any are good matches for your scenario.