Problemas exportando query para o excel

Delphi

04/03/2004

pessoal, estou com um problema sério

preciso exportar todo o conteúdo de uma tabela(estou usando o SQLServer) para uma planilha excel através da minha aplicação. Até aí tudo certo, consigo exportar os dados normalmente, porém minha tabela contém 16000 registros e todos precisam ser exportados para o excel(o pessoal quer o estoque contábel completo no excel), ai começam os problemas, preciso q tenha uma performance rápida(são 15 campos a serem exportados), mas está levando mais ou menos 15 minutos para exportar rodando direto no servidor(P4 2.6, 512 mem), imaginem rodando nas máquinas pela rede, caos total

alguém tem idéia do q eu possa fazer para melhorar a performance?

obrigado


0utl@wbr

0utl@wbr

Curtidas 0

Respostas

0utl@wbr

0utl@wbr

04/03/2004

sobe


GOSTEI 0
Ivonei

Ivonei

04/03/2004

Como você está fazendo isto?

Eu exporto pela rede, uma tabela do mysql que está no servidor. É super rápido. Estou usando o componente TscExcelExport.
Talvez este componente resolva o seu problema.

T+


GOSTEI 0
0utl@wbr

0utl@wbr

04/03/2004

segue o codigo q estou usando

[b:7d0443d472]var
coluna, linha: integer;
excel: variant;
valor: string;
begin
if query1.Active=true then //verifica se a query está aberta
begin
statusbar1.panels[0].text:=´Aguarde... Exportando dados para o Excel...´;
screen.cursor := crSQLWait;
cursor:=crSQLwait;
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;

query1.First;
try
for linha:=0 to query1.RecordCount-1 do
begin
for coluna:=1 to query1.FieldCount do // eliminei a coluna 0 da relação do Excel
begin
valor:= query1.Fields[coluna-1].AsString;
excel.cells [linha+2,coluna]:=valor;
end;
query1.Next;
end;

for coluna:=1 to query1.FieldCount do // eliminei a coluna 0 da relação do Excel
begin
valor:= query1.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;
statusbar1.panels[0].text:=´Completado com sucesso!!!!´;
screen.cursor := crDefault;
cursor:=crDefault;
query1.Close;
end;[/b:7d0443d472]

peguei esse código aqui no fórum mesmo

puxei o componente q vc falou, so q não tem nenhum exemplo de como usá-lo, vc tem algum exemplo para me passar?

obrigado


GOSTEI 0
Ivonei

Ivonei

04/03/2004

No link abaixo, você baixa o componente e acompanha um exemplo bem amplo do seu uso:
[url]http://www.torry.net/db/access/db_bdeexport/exporte.zip[/url]

Acho que realmente é mais demorado exportar no braço como você fez.
Espero que resolva o seu problema.

[ ]´s


GOSTEI 0
0utl@wbr

0utl@wbr

04/03/2004

valeu cara, vou testar durante o final de semana e segunda posto aqui o resultado

até logo


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

04/03/2004

se vc baixou o programa coloca ele novamente pois o link acima não funciona +.... valewww


GOSTEI 0
POSTAR