Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Impresión
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #10  
Old 26/06/2003
andres1569 andres1569 is offline
Miembro
 
Join Date: May 2003
Posts: 908
Poder: 24
andres1569 Va por buen camino
Hola de nuevo:

No he utilizado nunca estos componentes, sino que como te decía he generado archivos Excel a la vieja usanza, mediante OLE variants. De esto hay varios ejemplos en estos foros, en concreto en el foro de Servers, por ejemplo:

http://www.clubdelphi.com/foros/show...p?threadid=703

La clave es recorrer tu Dataset y a cada registro asignar las filas, algo así como:

Code:
var
  ExcelObj : Variant;  // variable global

procedure TForm1.Button1Click (...);
var
  WBk, WSh : Variant;
  i, j : Integer;
  CodFarmacia : String;
begin
  ExcelObj := CreateOleObject ('Excel.Application');
  WBk := ExcelObj.Workbooks.Add('Farmacias.xlt');  // si usas una plantilla
  WSh := WBk.WorkSheets[1];
  Table1.First;
  i := 0; // lleva el contador de filas
  CodFarmacia := Table1CODFARMACIA.AsString;
  while NOT Table1.EOF do
  begin
    for j:=0 to Table1.FieldCount - 1 do
      Wsh.Cells[j, i] := Tabla1.Fields[j].AsString;
    Inc (i);
    // controlamos el cambio de grupo
    if CodFarmacia <> Table1CODFARMACIA.AsString then
    begin
      CodFarmacia := Table1CODFARMACIA.AsString;
      Inc (i);  // una forma de dejar una linea en blanco
    end;
    Table1.Next;
  end;
  ExcelObj.Visible := TRUE;
  WBk.SaveAs('Farmacias.xls');
end;

procedure TForm1.Destroy;
begin
  if NOT VarIsEmpty(ExcelObj) then ExcelObj.Quit;
end;
Insisto en que esto se sale de este foro de Impresión, es mejor que lo mires en el foro adecuado o si vas a la opción Buscar y tecleas Excel te aparecerán varios hilos donde se trata este tema. En este ejemplo que te pongo te encargas tú mismo de controlar cuándo hay un cambio de grupo (CODFARMACIA) y ahí puedes hacer lo que creas oportuno, como muestra he dejado una linea en blanco.

De todas formas, esto es muy manual, quizás encuentres algún componente que haga algo parecido.
__________________
Guía de Estilo
Reply With Quote
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 21:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi