terça-feira, 22 de setembro de 2009

Gerar uma planilha do excel através de uma query

Procedure 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 // eliminei a coluna 0 da relação do Excel
begin
valor:= Consulta.Fields[coluna-1].AsString;
excel.cells [linha+2,coluna]:=valor;
end;
Consulta.Next;
end;

for coluna:=1 to Consulta.FieldCount do // eliminei a coluna 0 da relação do Excel
begin
valor:= Consulta.Fields[coluna-1].DisplayLabel;
excel.cells[1,coluna]:=valor;
end;
excel.columns.AutoFit; // esta linha é para fazer com que o Excel dimencione as células adequadamente.
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;

Nenhum comentário:

Postar um comentário