none
variables en excel y sql RRS feed

  • Pregunta

  • Hola:

    Como puedo hacer para que el nombre de mi archivo y la hoja de excel se tomen como variables, es decir quiero realizar un store donde pueda realizar una busqueda en un archivo de excel, el archivo va a ser diferente al igual que el nombre de la hoja.

    espero me puedan ayudar

     

    SELECT

     

    *

    FROM

     

    OPENROWSET('Microsoft.Jet.OLEDB.4.0',

     

    'Excel 8.0;Database=G:\EXCEL\hola.xls;HDR=YES','SELECT * FROM [hola$]')

    where

     

    @columna = ''''+ @Dato+ ''''

    lunes, 26 de abril de 2010 19:34

Respuestas

  • hola

    Podrias ser algo así:

    CREATE PROCEDURE LeerFromExcel
    	@Filename varchar(255),
    	@Hoja varchar(20)
    	AS
    	BEGIN
    		DECLARE @strSQL varchar(4000)
    		SET @strSQL = 'SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=' + @Filename + ';HDR=YES'',''SELECT * FROM '+ @Hoja + ')'
    		exec @strSQL
    	END

    Usando un poco de sql dinámico al procedimiento le pasas la ruta del archivo y el nombre de la hoja y funcionará!

    Un gran saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    Visita mi Blog
    Sigueme en Twitter
    • Propuesto como respuesta Josue YerayMVP, Moderator lunes, 26 de abril de 2010 20:00
    • Marcado como respuesta Zu63 lunes, 26 de abril de 2010 22:59
    lunes, 26 de abril de 2010 20:00
    Moderador

Todas las respuestas

  • hola

    Podrias ser algo así:

    CREATE PROCEDURE LeerFromExcel
    	@Filename varchar(255),
    	@Hoja varchar(20)
    	AS
    	BEGIN
    		DECLARE @strSQL varchar(4000)
    		SET @strSQL = 'SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;Database=' + @Filename + ';HDR=YES'',''SELECT * FROM '+ @Hoja + ')'
    		exec @strSQL
    	END

    Usando un poco de sql dinámico al procedimiento le pasas la ruta del archivo y el nombre de la hoja y funcionará!

    Un gran saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    Visita mi Blog
    Sigueme en Twitter
    • Propuesto como respuesta Josue YerayMVP, Moderator lunes, 26 de abril de 2010 20:00
    • Marcado como respuesta Zu63 lunes, 26 de abril de 2010 22:59
    lunes, 26 de abril de 2010 20:00
    Moderador
  • Muchas gracias Josue!! era justo lo que queria hacer.
    lunes, 26 de abril de 2010 23:00