W SQL Server używam czegoś takiego jak poniżej. Przy czym na życzenie klienta wewnętrznego - ja wcześniej cała tabelę usuwam, i co dziennie (właściwie co kilka godzin) ładuje dane z excela - który może się zmieniać także pod względem struktury pliku.
Select * into dbo.ProjectStatus FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:\Transport\ProjectStatus.xlsx;Extended Properties=Excel 12.0')...[Status$]
Edit: No i generalnie jesli chcesz zrobić coś w rodzaju "magazynu danych" to w uproszczeniu importujesz wszystkie pliki excela tworząc tabele na ich podstawie, a później w VS tworzysz paczki SSIS gdzie "oprogramowujesz" importowanie danych (względnie wszelkie manipulacje na nich) - na koniec job który będzie je odpalał według planu i voile. Oczywiście w paczkach z SSIS możesz ustawić jako źródło danych CSV czy XLSX a cel już istniejące tabele w bazie SQL.