Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2013
Anusky Anusky is offline
Miembro
 
Registrado: mar 2008
Posts: 23
Poder: 0
Anusky Va por buen camino
Importar datos de un excell delphi

Hola a todos,
estoy haciendo un programa que importa los datos de un fichero excell con el componente TexcellApplication, uso Delphi 7, y no consigo sacarle punta. Aquí os dejo el fallo que me está volviendo loca:

El programa lee las casillas del fichero excell una a una, va leyendo todas las filas de una columna y luego pasa a la siguiente columna y hace lo mismo, así hasta el final del fichero, la casilla que lee el componente es un dato 'variant' (lo obtengo con la función value2 del componente), y por último los meto en un TstringList.
código:
var
hoja: _Worksheet;
x: variant;
listaContenidoExcell: TStringList;
begin
(**Aquí primero asigno a hoja la pestaña uno del fichero y todas las cosas que hacen falta,
voy leyendo todas las filas de cada columna con un bucle**)
x := hoja.Range[sLetraColumna + IntToStr(i), sLetraColumna + IntToStr(i)].Value2;
listaContenidoExcell.Add(VarToStr(x));
end;

problema
Las columnas que son fechas las trae en juliano, en lugar de la fecha (dd/mm/aaaa) que yo veo en el fichero excell me trae un número.

Intentos de solucionar el problema que no han funcionado
1. Intentar descubrir cuando una columna es fecha y modificar el dato que trae definiéndolo como fecha. No funciona porque la columna fecha la trae como varDouble (igual que otras columnas que si que son números). He empezado por detectar las columnas que son double pero esto hace que al hacer
listaContenidoExcell.Add(DateToStr(TVarData(x).VDate))
en algunas columnas que son datos numéricos de verdad me traiga los valores en formato fecha.

2.Formateo de la columna fecha en el archivo excell. No funciona porque al ponerla como texto me convierte automáticamente los valores de las fechas a juliano, así que tengo el mismo problema. Además formatear la columna como formato fecha no sirve para nada, el componente sigue detectando como varDouble el valor de la casilla.

3. Detectando las columnas que son double (como en el intento 1), con un try intentar comprobar que la conversión a fecha da un resultado válido y sino tratarlo como que no es fecha. No funciona porque hay valores en columnas de tipo varDouble que son números y que al pasarlos a fecha da una fecha correcta.

A ver si alguien me puede dar un poquillo de luz al problema, o por lo menos alguna idea de como afrontarlo. Muchas gracias a todos!!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
porque es tan complidado importar datos de excel a delphi Rofocale Varios 13 19-06-2012 18:15:23
Importar tablas Dbf a base de datos Access desde delphi yusnerqui Tablas planas 6 25-08-2010 23:10:02
Componente en Delphi 2006 para importar datos de excel a postgres saul_fg PostgreSQL 0 01-04-2009 18:49:56
importar datos de excel a una base de paradox con delphi roraclau Tablas planas 4 11-01-2007 01:50:29
Importar datos lafirma Firebird e Interbase 1 19-05-2003 10:26:26


La franja horaria es GMT +2. Ahora son las 15:04:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi