Ver Mensaje Individual
  #4  
Antiguo 18-06-2007
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
Un ejemplo:
Código Delphi [-]
procedure TfrConCompras.SpExpToExcellClick(Sender: TObject);
 var
  excel:Variant;
  fila,columna:Integer;
  Data : TDataSet;
begin
  try
    excel:=CreateOleObject('Excel.Application');
  except
    ShowMessage('Excel no se pudo iniciar.');
    exit;
  end;
  excel.Visible:=true;

    Data:=Dbgrid1.DataSource.DataSet;
         Data.First;
         fila:=1;
         columna:=1;
          excel.Workbooks.Add;

          //Poner los títulos
           for columna := 0 to Dbgrid1.Columns.Count-1 do
           begin
           excel.Cells[fila,columna + 1].Value:=Dbgrid1.Columns[columna].FieldName;
           end;

           fila:=2;
           Dmxxxx.Comp.DisableControls;
           Dmxxxx.LinComp.DisableControls;

         Try

           while not(Data.eof) do
            begin

             for columna := 0 to Dbgrid1.Columns.Count-1
             do
             begin
              if columna < 5 then
              excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Dbgrid1.Columns[columna].FieldName).asString
              else
              excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Dbgrid1.Columns[columna].FieldName).asFloat;
              end;

              Data.Next;
              fila:= fila + 1;
            end;
                     Except
         ShowMessage('Atención, se produjo un error en la transmisión.');
         end;
         Dmxxxx.Comp.EnableControls;
         Dmxxxx.LinComp.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