Ver Mensaje Individual
  #2  
Antiguo 16-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No veo necesidad de usar Excel como intermediario. Yo intentaría lo siguiente:

1. Usar el DatabaseDesktop para crear la tabla DBF vacía
2. Leer el archivo CVS en un StringList
3. Usar una componente Table para acceder a la tabla creada
3. Ciclar sobre todas las líneas del StringList para exportar a la tabla DBF:

Código Delphi [-]
for i := 0 to StringList.Count - 1 do
begin
  ...
end;

a. Cada línea del archivo será un conjunto de valores separados por comas. Usa un segundo StringList auxiliar para separar los valores en líneas:

Código Delphi [-]
sl.CommaText := StringList[i]; // i = índice de línea actual

b. Un ciclo anidado sobre el StringList auxiliar para copiar los valores en los campos de la tabla:

Código Delphi [-]
// insertas registro en blanco
Table.Append;

Copias valores a campos
for j := 0 to sl.Count - 1 do
  Table.Fields[j].Value := sl[j];

// Guardas registro
Table.Post;
Claro que si los registros son muchos puede ser un poco lento usar un StringList para el archivo CSV, pero podrías leer línea a línea con los clásicos ReadLn(Archivo).

// Saludos
Responder Con Cita