Ver Mensaje Individual
  #2  
Antiguo 19-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Hola Jose Caceres, no dices como estas exportando a excel, digamos que estas utilizando los componentes de la paleta Server, ExcelApplication, un ExcelWorkBook y un WorkSheet.

En tu consulta lo ordenas por campo Bolean que dices, cosa que salga primero todos los verdaderos y luego todos los falsos. En el codigo puedes utilizar una banderita para incrementar el numero de filas cuando llegues a los falsos.

Código Delphi [-]
var
 Fila : Integer;
 banderita : Boolean;
begin
 Fila := 3; //Para comenzar en la fila 3
 ExcelApplication1.Connect;
 ExcelApplication1.Visible[0] := True;
 ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
 ExcelWorksheet1.ConnectTo(ExcelApplication1.Sheets[1] as _WorkSheet);
 
 banderita := False; //Inicializamos nuestra banderita
 Query1.First;
 While Not Query1.Eof do
  begin
   With ExcelWorksheet1.Cells do
    begin
     //Si hemos llegado a los Falsos, incrementamos nuestra fila 
     if (Query1.FieldByName('campo').AsBoolean = False) and (Not banderita) then
      begin
       Fila := Fila+6;
       banderita := True;
      end;
     Item[Fila,1].Value := Query1.FieldByName('campo1').AsString;
     Item[Fila,2].Value := Query1.FieldByName('campo2').AsString;
     Item[Fila,3].Value := Query1.FieldByName('campo3').AsString;
     Inc(Fila);
     Query1.Next;
    end;
  end;//While
 
  ExcelWorksheet1.Disconnect;
  ExcelWorkbook1.Disconnect;
  ExcelApplication1.Disconnect;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 19-08-2008 a las 14:39:20.
Responder Con Cita