Ir al contenido


Foto

Delphi + ADO + Excel = Problema al leer celdas con fórmulas.


  • Por favor identifícate para responder
7 respuestas en este tema

#1 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 11:21

Amigos,

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,
  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.486 mensajes
  • LocationMexico City

Escrito 10 febrero 2014 - 11:40

Algo de aquí te sirve mi amor ?

http://support.micro...om/kb/257819/es

Saludox ! :)
  • 0

#3 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 11:52

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" :(
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.257 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 02:07

Yo utilice ésto sin problemas



delphi
  1. procedure TForm1.Button6Click(Sender: TObject);
  2. begin
  3.   ADOConnection1.ConnectionString :=
  4.   'Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False; ' +
  5.   'Data Source=F:\Libro1.xlsx; Extended Properties=Excel 12.0 ';
  6.   ADOConnection1.Connected := true;
  7.   ADOQuery1.Open;
  8. end;



Y en el Query ésto:



sql
  1. 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

Archivos adjuntos


  • 0

#5 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 04:38

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
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.257 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 04:48

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

Archivos adjuntos


  • 0

#7 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 10 febrero 2014 - 04:53



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
  • 0

#8 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 15 febrero 2014 - 03:53

Pues me respondo:

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
  • 0