Gera Resultado de Consulta no Excel

 

A Procedure GerarExcel foi enviado para o concurso UPLoder Master e foi desenvolvido por Fabrício Desbessel. Este procedimento recebe como parâmetro o nome de um componente de consulta, TQuery1 por exemplo, e gera uma planilha no Excel com os campos e registros da consulta. Observe o código abaixo:

 

procedure TForm1.GerarExcel(Consulta:TQuery);

var

  coluna, linha: integer;

  excel: variant;

  valor: string;

begin

  try

    excel:=CreateOleObject('Excel.Application');

    excel.Workbooks.add(1);

  except

    Application.MessageBox ('Versão do Ms-Excel'+

      'Incompatível','Erro',MB_OK+MB_ICONEXCLAMATION);

  end;

  Consulta.First;

  try

    for linha:=0 to Consulta.RecordCount-1 do

    begin

      for coluna:=1 to Consulta.FieldCount do

      begin

        valor:= Consulta.Fields[coluna-1].AsString; excel.cells [linha+2,coluna]:=valor;

      end;

    Consulta.Next;

    end;

    for coluna:=1 to Consulta.FieldCount do

    begin

       valor:= Consulta.Fields[coluna-1].DisplayLabel;

       excel.cells[1,coluna]:=valor;

    end;

      excel.columns.AutoFit;

      excel.visible:=true;

   except

      Application.MessageBox ('Aconteceu um erro desconhecido durante a conversão'+

      'da tabela para o Ms-Excel','Erro',MB_OK+MB_ICONEXCLAMATION);

   end;

end;

 

Clique aqui para fazer o download do aplicativo que exemplifica o uso desta Procedure. Veja abaixo a interface deste aplicativo.