Delphi + ADO + Excel = Problema al leer celdas con fórmulas.
#1
Posted 10 February 2014 - 11:21 AM
Tengo un problema, espero alguién conozca la solución.
Resulta que me conecto a un documento de excel usando ADO y en su mayoría las celdas con valores son cargadas pero para mi mala fortuna aquellas que tienen formato especial o una fórmula me retornan nulo.
¿Alguién sabrá como se debe configurar la cadena de conexión para que muestre todos los valores?
Gracias de antemano,
#2
Posted 10 February 2014 - 11:40 AM
#3
Posted 10 February 2014 - 11:52 AM
Algo de aquí te sirve mi amor ?
http://support.micro...om/kb/257819/es
Saludox !
Según el documento con IMEX=1 agregado a la cadena de conexión debería resolverse el problema, pero lamentablemente para mi no es así. Al añadir esa opción me da un error "Could no find installable ISAM"
#4
Posted 10 February 2014 - 02:07 PM
procedure TForm1.Button6Click(Sender: TObject); begin ADOConnection1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False; ' + 'Data Source=F:\Libro1.xlsx; Extended Properties=Excel 12.0 '; ADOConnection1.Connected := true; ADOQuery1.Open; end;
Y en el Query ésto:
SELECT * FROM [Hoja1$]
Y sin problema, hice un pequeño ejercicio con las funciones Sumas y Promedio, no se que funciones quieres utilizar tú.
Saludos
Attached Files
#5
Posted 10 February 2014 - 04:38 PM
#6
Posted 10 February 2014 - 04:48 PM
Pues en mi caso no es nada complicado, es una celda con formato de fecha, que al leerse desde ADO devuelve Nulo.... Raro, muy raro
Pues a mi me devuelve el valor entero de la fecha.
Saludos
Attached Files
#7
Posted 10 February 2014 - 04:53 PM
Pues a mi me devuelve el valor entero de la fecha.
Saludos
Creo que el problema puede estar en mi versión de excell (2000)... trataré de probar con una más reciente
#8
Posted 15 February 2014 - 03:53 PM
La configuración de la cadena de conexión al documento de excel para leer correctamente valores de fórmulas o valores con formato especial debe incluir lo siguiente:
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1;";Persist Security Info=False
Gracias amigos