post icon

Importar datos de MS Excel 2007 [.xlsx] a SQL Server

Importar datos de las planillas electrónicas MS Excel con el formato de la versión 2007 en adelante (.xlsx) en SQL Server en sus versiones 2005 y 2008 sin el Service Pack 1 como mínimo instalado, notarán que no se puede realizar por el típico proceso, ya que no existe un proveedor ODBC para ésta versión.

No es un proceso complejo, y por suerte como nos tiene acostumbrados Microsoft con sus productos, es muy sencilla esta tarea. Iremos viendo unas capturas de pantalla para hacer más sencillo también el post.

Tenemos que elegir el proveedor de datos como Microsoft Office 12.0 Access Database Engine. En caso de no tener instalado lo puede descargar gratuitamente desde aquí.

Elegimos la planilla a importar

En la propiedad Extended Properties modificamos su valor

El valor será el siguiente

Con esto ya será suficiente, pueden testear la conexión y si todo da ok, proceden al mecanismo que ya conocen de la importación tradicional de datos.

Comentarios desde Facebook:

  1. avatar
    JeRsOn PERU Google Chrome Windows
    7 Noviembre 2011 at 14:07 #

    y entonces cual es el codigo sql
    pense que era algo asi pero creo q no..

     declare @cadena varchar(2000)
     declare @cadena1 varchar(4000)
     declare @ruta varchar(1000)
    
     set @ruta = 'path\excel.xlsx'
     set @cadena='''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;IMEX=1;HDR=Yes;Database='+@ruta+''',''SELECT * FROM [Hoja1$]'''
     set @cadena1= 'insert into tabla SELECT * FROM OPENROWSET('+@cadena+')'
    

    ..
    espero su pronta respuesta..

    declare @cadena varchar(2000)
    declare @cadena1 varchar(4000)
    declare @ruta varchar(1000)

    set @ruta = ‘path\excel.xlsx’
    set @cadena=”’Microsoft.Jet.OLEDB.4.0”,”Excel 8.0;IMEX=1;HDR=Yes;Database=’+@ruta+”’,”SELECT * FROM [Hoja1$]”’
    set @cadena1= ‘insert into tabla SELECT * FROM OPENROWSET(‘+@cadena+’)’

Responder