Debido a que he estado realizando varios proyectos con SQL Server 2008 he tenido que hacer uso de distintas tecnicas para poder terminarlos. En unas de ellas se ha presentado la necesidad de leer un archivo XLS y XLSX, lo he logrado utilizando la siguiente consulta:

Para archivos xls:

SELECT * FROM OPENROWSET(‘Microsoft.Jet.OLEDB.4.0′,
‘Excel 8.0;Database=C:\Users\Elvis Cortijo\Documents\discado.xls’,
‘SELECT * FROM [discado$]‘)

Para archivos xlsx:

SELECT * FROM OPENROWSET(‘Microsoft.ACE.OLEDB.12.0′,
‘Excel 12.0;Database=C:\Users\Elvis Cortijo\Documents\discado1.xlsx’,
[discado$])

Es importante aclarar que se debe tener permisos administrativos para poder llegar o tener acceso a la carpeta destino donde se encuentra el archivo si esta esta en un sitio protegido.