Gembox software makes a component that reads xls and xlsx files without using automation.
You could use it inside a CLR stored proc to return a result set with any number/type/names of column.
I suppose you could also open a connection inside it and write the data into table.