Ver Mensaje Individual
  #1  
Antiguo 27-09-2005
ddd_ddd ddd_ddd is offline
Miembro
 
Registrado: sep 2005
Posts: 60
Reputación: 21
ddd_ddd Va por buen camino
de excel a delphi

tengo el siguiente codigo para transferir la hoja de claculo excel a la tabla de delphi. pero con 50mil filas y 12 columnas se tarda mas de 30 minutos.


¿alguien sabe como hacer la tranferencia en el menor tiempo posible?


Código Delphi [-]
 procedure TForm2.BitBtn1Click(Sender: TObject);
 var
   appExcel: Variant;
   i, j: integer;
   sql: String;
   x: string;
 const
   numCampos: integer = 12;
   numFilas: integer = 50000;
 begin
   appExcel := CreateOleObject('Excel.Application');
   appExcel.WorkBooks.Open('C:\archivo.xls');
   query1.active:=false;
   for i := 2 to (numfilas + 2) do // en la fila 1 esta el nombre del campo
   begin
     sql := '';
     for j := 1 to numCampos do
     begin
       x := appExcel.WorkBooks[1].Worksheets[1].Cells[i, j];
       sql := sql + x + '''';
       if j <> numCampos then
         sql := sql + ',''';
     end;
     query1.SQL.Clear;
     query1.SQL.Add('insert into tabla values(''' + sql + ')');
     try
       query1.ExecSQL;
     except
       showmessage('no se pudo transferir todos los registros') ;
     end;
   end;
   showmessage('ya se han transferido los datos');
   appExcel.Quit;
   appExcel := Unassigned;
 end;

Última edición por dec fecha: 27-09-2005 a las 05:11:12. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!!
Responder Con Cita