Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   exportar dbgrid a excel (https://www.clubdelphi.com/foros/showthread.php?t=33317)

stuka 03-07-2006 23:31:06

exportar dbgrid a excel
 
pues como lo dice el titulo, quiero pasar la informacion que contiene el dbgrid a excel pero no tengo ni idea de como se hace, alguna sugerencia? o algun documento donde me las bases para trabajar, trabajo con delphi 7 e interbase, de antemano gracias.

Saludos

delphi.com.ar 03-07-2006 23:35:00

No es el método mas tradicional, pero si te interesa puedes bajar de mi página los componentes llamados "Firesoft ExportSuite" que los diseñé con ese propósito. Como ventaja, puedo decirte que genera el archivo utilizando 100% código nativo, sin necesidad de tener Excel instalado y sin preocuparte por los problemas entre versiones y a una velocidad mucho mayor que utilizando el mismo excel. Como desventaja puedo decirte que fueron concebidos como herramientas básicas y funcionales, sin lujos por lo que no podrás formatear demasiado "a gusto" el archivo generado.

Saludos!

marcoszorrilla 03-07-2006 23:35:55

Mira este truco, de la sección trucos del club.

Un Saludo.

stuka 04-07-2006 16:23:41

muchas gracias chekare los 2 a ver cual es el mas se adapta (o el mas sencillo de usar) y gracias de nuevo, no se que haria sin este foro dios mio:D

marcoszorrilla 04-07-2006 20:50:11

Esto lo hice la semana pasada, aquí tienes otro ejemplo:
Código Delphi [-]
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ExtCtrls, StdCtrls, Buttons, DBCtrls, ComCtrls, Db, ComObj;
...........
procedure TfrConReguRegional.SpToExcelClick(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;}

     //solamente hay 6 columnas pongo los nombres a mano
     excel.Cells[fila, 1].Value:='Orden';
     excel.Cells[fila, 2].Value:='Licencia';
     excel.Cells[fila, 3].Value:='Columna3';
     excel.Cells[fila, 4].Value:='Club';
     excel.Cells[fila, 5].Value:='Columna4';
     excel.Cells[fila, 6].Value:='Puntos';


   fila:=2;

   //Desengachar controles para agilizar
   DmPal.DatPal.DisableControls;

   try
     while not(Data.eof) do
      begin

       for columna := 0 to Reja.Columns.Count-1 do
       begin

        if columna < 4 then
        Excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[Columna].FieldName).AsString;

        if columna > 3  then
        begin
        excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[columna].FieldName).AsFloat;
        excel.Cells[fila,columna + 1].NumberFormat:= ',0.00';
        end;

       end;
        Data.Next;
        fila:= fila + 1;
      end;
      //Ajustar columnas
        for columna:=1 to 11 do
        begin
        Excel.Columns[Columna].EntireColumn.AutoFit;
        end;

   Except
   ShowMessage('Atención, se produjo un error en la transmisión.');
   end;

   DmPal.DatPal.EnableControls;
end;

Un Saludo.

mguixot 20-07-2006 12:10:28

Hola a tod@s,

respecto al ejemplo anterior, cómo puedo guardar el fichero Excel que acabamos de generar? He probado el método SAVETOFILE, pero no está soportado con el objeto creado.

Saludos

mguixot 20-07-2006 12:21:51

Hola de nuevo,

que posibilidades tengo de hacer algo similar a generar un documento .xls, pero sin tener instalado MS Excel. Es decir, tengo instalado OpenOffice.

Saludos

delphi.com.ar 21-07-2006 00:16:33

Cita:

Empezado por mguixot
que posibilidades tengo de hacer algo similar a generar un documento .xls, pero sin tener instalado MS Excel. Es decir, tengo instalado OpenOffice.

Que te parece esta posibilidad comentada en el mismo hilo:
Cita:

Empezado por delphi.com.ar
No es el método mas tradicional, pero si te interesa puedes bajar de mi página los componentes llamados "Firesoft ExportSuite" que los diseñé con ese propósito. Como ventaja, puedo decirte que genera el archivo utilizando 100% código nativo, sin necesidad de tener Excel instalado y sin preocuparte por los problemas entre versiones y a una velocidad mucho mayor que utilizando el mismo excel. Como desventaja puedo decirte que fueron concebidos como herramientas básicas y funcionales, sin lujos por lo que no podrás formatear demasiado "a gusto" el archivo generado.

Saludos!


La franja horaria es GMT +2. Ahora son las 07:19:39.

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