Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2003
tamara tamara is offline
Miembro
 
Registrado: sep 2003
Posts: 12
Poder: 0
tamara Va por buen camino
Exportar desde BDE a Excel

Hola a todos:

Por favor alguien me podria ayudar:

Necesito exportar una tabla o un query desde deplhi 3 a un archivo en Excel, como puedo hacerlo ??


Gracias


Tamara
Responder Con Cita
  #2  
Antiguo 03-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Primero: has hecho la pregunta en 3 Foros, por lo que del de Varios la he borrado, cuando leas la solución que te propongo entre otras posibles, convendría que leyeras la Guia de estilo de los Foros en donde se habla de este caso, es decir la pregunta ha de ponerse solamente en un foro:


Pon en el Uses de tu Form ComObj
Y desde una rejilla en donde estás visualizando los datos.

Código:
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:=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;

         //Desengachar controles para agilizar
         DmXxx.Factura.DisableControls;
         DmXxx.HLinalbaF.DisableControls;
         try
           while not(Data.eof) do
            begin

             for columna := 0 to DbGrid1.Columns.Count-1 do
             begin
              if (columna < 4) or (Columna > 19) 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;
         DmXxx.Factura.EnableControls;
         DmXxx.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.

Última edición por marcoszorrilla fecha: 03-10-2003 a las 23:37:45.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 04:37: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