Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   interbase a excel (https://www.clubdelphi.com/foros/showthread.php?t=2551)

marcelofabiani 28-07-2003 20:54:33

interbase a excel
 
existe algun componente que pueda utilizar en mis programas que me permita exportar la base de interbase a excel o algun otro formato que despues me permita importar desde excel.
O alguien me puede decir que puedo hacer para tener alguna forma de exportar mis datos de interbase.

delphi.com.ar 28-07-2003 21:00:25

Te puedo recomendar la "ExportSuite" que puedes bajar de mi página, estas exportan a XLS, WK1, TXT, HTML cualquier DataSet!

Saludos!

jhonny 28-07-2003 21:19:41

Me parece muy comodo usar un componente pero este procedimiento tambien te servira...;)

Código:

procedure excel(EXQuery : TDataSet ;NoCampos :integer);
var
  XL, XArr: Variant;
  i : Integer;
  j : Integer;
begin
    EXQuery.First;
    XArr:=VarArrayCreate([1,NoCampos],varVariant);
    try
        XL := GetActiveOleObject('Excel.Application');
    except
      XL:=CreateOLEObject('Excel.Application');    // Ole object creation
    end;
    XL.WorkBooks.add;
    XL.visible:=true;

    j := 2;
    i := 0;
    while i < NoCampos do
    begin
        XArr[i+1]:=EXQuery.Fields[i].DisplayLabel;
        i := i+1;
        EXQuery.Next;
    end;
    XL.Range['A'+IntToStr(j),
    CHR(64+NoCampos)+IntToStr(j)].Value := XArr;

    XL.Range['A1',CHR(64+NoCampos)+IntToStr(j)].select;
    XL.Selection.Font.Name:='Times New Roman';
    XL.Selection.Font.Size:=10;
    XL.Selection.Font.color := clblue;
    XL.Selection.Font.bold := true;
    XL.Selection.Font.underline := true;


    j := 3;
    EXQuery.First;
    while not EXQuery.Eof do begin
          i:=1;
          while i<=NoCampos do begin
                XArr[i] := EXQuery.Fields[i-1].Value;
                i := i+1;
          end;
          XL.Range['A'+IntToStr(j),
                  CHR(64+NoCampos)+IntToStr(j)].Value := XArr;
          EXQuery.Next;
          j := j + 1;
    end;
    XL.Range['A1',CHR(64+NoCampos)+IntToStr(j)].select;
    XL.selection.Columns.AutoFit;
    XL.Range['A1','A1'].select;
end;

Bueno por lo menos a mi si que me ha servido, espero que a voz tambien:cool:

delphi.com.ar 28-07-2003 21:39:25

Agrego: Como ventaja el componente que te sugiero, no utiliza el Excel para generar el archivo como el procedimiento que nos sugiere Jhonny, la ventaja de esto es que no nos tenemos que preocupar por la versión del Excel del equipo que ejecuta la aplicación, es mas si no tiene instalado el Excel funciona igualmente. Y otra ventaja es que como escribe en forma nativa el archivo, es mucho mas veloz que utilizar un 'Excel.Application' con este propósito. Como desventaja no podemos utilizar todas las facilidades que nos da Excel, para crear un archivo.

Saludos!

jhonny 28-07-2003 21:47:24

Muy buena apreciación, y afirmo todo lo que delphi.com.ar a dicho;)

marcelofabiani 29-07-2003 05:29:48

Les agradezco por la ayuda me sirvio de mucho ahora a utilizar lo aprendido. ;)

dmagui 10-08-2005 22:52:26

Holaaaaa :D :D :D


tengo una preguntita despues de leer este hilo:

como hago para que cuando yo de click en un boton me haga lo que tiene ese procedimiento :confused: :confused: :confused:

es decir: lo declaro
excel:Texcel;
ahora lo llamo
excel(???????);

pero lo que no se es que parametros deben ir dentro para que funcione el procedimiento excel.

Gracias a todosssss besos chupos y abrazos


La franja horaria es GMT +2. Ahora son las 08:11:15.

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