Importar excel

Necesito una ayuda.
Estoy intentando importar un Excel, para ello he instalado el AccessDatabaseEngine, y desde un proceso tengo el siguiente código pero no conecta porque las variables ok_conexion,ok_mensaje no devuelven nada, alguien ve alguna incidencia…

BD: Crear manejador ( hExcel, ODBC (compatible Microsoft SQL Server), “Driver={Microsoft Excel Driver (.xls,.xlsx,.xlsm,.xlsb)};
DBQ=c:/tmp_netGesFactu/P00210_20160112_105400.xlsx”, , , )
BD: Conectar ( hExcel, , , OK_CONEXION, OK_MENSAJE )
Mensaje ( “”+OK_CONEXION+" - "+OK_MENSAJE, Información, , )
BD: SQL ( hExcel, “SELECT * FROM \cHoja1$A1:F65536\c”, ODBC_NUM_FILAS, )
Rem ( Nota prog.: la var.local ‘nom_column1’ equivale a la primera columna excel… )
BD: Get nombre de columna por número ( hExcel, 0, NOM_COLUMN1 )
BD: Recorrer lista ( hExcel )
Rem ( Nota prog.: el valor del ‘ID’ del mdl_enrol se lo paso a la var.local ‘ca_idenrol’’… )
BD: Get dato de columna por nombre ( hExcel, NOM_COLUMN1, COD_MARPOSS )
Mensaje ( COD_MARPOSS, Información, , )

Saludos y gracias…

Hola J.Carlos

La variable OK_CONEXION siempre devuelve 0, eres tú el que debe ponerla a 1 cuando entras en el subproceso del comando BD:Conectar.
La variable ODBC_NUM_FILAS siempre devuelve -1, por lo tanto no sirve de nada.

Por lo demás no veo errores en el código, debería funcionar correctamente, aunque evita hacer importaciones masivas de una sola vez o dejarás frito el vServer.

Velneo no está preparado para ejecutar importaciones masivas tipo Bulk Insert.

Saludos
Paco Satué

Buenas tardes…
Estoy usando el mismo proceso que indica J.Carlos, el único cambio que hago es que la cadena DB:Crear Manejador lo creo con los datos que selecciona el usuario…

“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; DBQ=”+SENDA_FICHERO+"\c"

Pero en OK_Mensaje me devuelve el error que adjunto.
Gracias por vuestra ayuda.

image

Buenas tardes…

Auto respuesta…
En la cadena…
“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; DBQ=”+SENDA_FICHERO+”\c”

Sobra la “\c” del final.

Funciona perfectamente.

Saludos