Ver Mensaje Individual
  #2  
Antiguo 17-03-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Mira este ejemplo:
Código Delphi [-]
 procedure TfrConFacturas.SpeedButton4Click(Sender: TObject);
  var
   excel:Variant;
   fila,columna:Integer;
   Data : TDataSet;
   MyDataSet:TDataSet;
   
 begin
   try
     excel:=CreateOleObject('Excel.Application');
   except
     ShowMessage('Excel no se pudo iniciar.');
     exit;
   end;
   excel.Visible:=true;
 
     Data:=Reja.DataSource.DataSet;
          Data.First;
          fila:=1;
          columna:=1;
           excel.Workbooks.Add;
 
           //Poner los títulos
            for columna := 0 to Reja.Columns.Count-1 do
            begin
            excel.Cells[fila,columna + 1].Value:=Reja.Columns[columna].FieldName;
            end;
 
            fila:=2;
 
          //Desengachar controles para agilizar
          Dmxx.Factura.DisableControls;
          Dmxx.HLinalbaF.DisableControls;
          try
            while not(Data.eof) do
             begin
 
              for columna := 0 to Reja.Columns.Count-1 do
              begin
               if (columna < 4) or (Columna > 19) then
              excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[columna].FieldName).asString
               else
               excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[columna].FieldName).asFloat;
              end;
               Data.Next;
               fila:= fila + 1;
             end;
          Except
          ShowMessage('Atención, se produjo un error en la transmisión.');
          end;
          Dmxx.Factura.EnableControls;
          Dmxx.HLinalbaF.EnableControls;
 
 end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita