GARANTIR DESCONTO

Fórum Problemas exportando query para o excel #218430

04/03/2004

0

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

Responder

Posts

05/03/2004

0utl@wbr

sobe


Responder

Gostei + 0

05/03/2004

Ivonei

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+


Responder

Gostei + 0

05/03/2004

0utl@wbr

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


Responder

Gostei + 0

05/03/2004

Ivonei

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


Responder

Gostei + 0

05/03/2004

0utl@wbr

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

até logo


Responder

Gostei + 0

19/01/2005

Vagner.oliveira

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar