sexta-feira, 2 de abril de 2010

Dicas Delphi - Gera Resultado de Consulta no Excel

Salve, salve

** Dica retirada da internet

A Procedure GerarExcel, recebe como parâmetro o nome de um componente de consulta, TQuery1/ClientDataSet 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;


// Deixe seu comentário


Take care

Um comentário:

João Paulo Bandeira disse...

Meu caro e nobre prof.!
Muito valido essas suas dicas gostei sem testar, pois nao tenho programa, instalei windows7 e nao fiz beckap, dai o resto tu já sabe, meu not tá pra assistenia, e vão instalar todos os programas pra mim novamente dai farei todas as dicas. Vôce tava bonitão de terno na escadaria em cara! Tava parecendo até aqueles chofé de estrela de hollywood. valeu Marco felicidades e me chama pra essas viagens de feira de tecnologia que tô dentro.
João Paulo Bandeira