GARANTIR DESCONTO

Fórum exportar dados para o excel #353365

08/02/2008

0

ola pessoal, como eu faço pra exportar dados consultados no banco para o excel, o cliente pediu para gerar um relatório e exportar o mesmo para o excel, vlw


Etspaz

Etspaz

Responder

Posts

08/02/2008

Rjun

Com ADO você pode acessar arquivos do EXCEL como se fossem tabelas de um banco de dados.


Responder

Gostei + 0

08/02/2008

Ferreia2

A forma que estou te enviando é meio Braçal, porém desta forma independe se a maquina que esta rodando a aplicação tem excel ou não.

Gere um arquivo texto com a estrutura abaixo e salve como .xls

WriteLn(Planilha,´<html>´);
WriteLn(Planilha,´<body>´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´<td width=´5¬´>Cód. Estab.</td>´);
WriteLn(Planilha,´<td width=´5¬´>Cód. Loja</td>´);
WriteLn(Planilha,´<td width=´70¬´>Nome da Loja</td>´);
WriteLn(Planilha,´<td width=´5¬´>Tipo Doc.</td>´);
WriteLn(Planilha,´<td width=´5¬´>Valor</td>´);
WriteLn(Planilha,´<td width=´5¬´>Data</td>´);
WriteLn(Planilha,´<td width=´5¬´>Total Pagto</td>´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´<td width=´5¬´>´ + DmPrincipal.Qry_Existe_Estorno.FieldByName(´Cod_estb_corban´).AsString + ´</td>´);
WriteLn(Planilha,´<td width=´5¬´>´ + DmPrincipal.Qry_Existe_Estorno.FieldByName(´Cod_Loja_corban´).AsString + ´</td>´);
WriteLn(Planilha,´<td width=´70¬´>´ + DmPrincipal.Qry_Existe_Estorno.FieldByName(´Dsc_Nome_Fant´).AsString + ´</td>´);
If DmPrincipal.Qry_Existe_Estorno.FieldByName(´Tip_Pagto´).AsString = ´A´ Then
WriteLn(Planilha,´<td width=´5¬´>Arrecadação</td>´);
If DmPrincipal.Qry_Existe_Estorno.FieldByName(´Tip_Pagto´).AsString = ´T´ Then
WriteLn(Planilha,´<td width=´5¬´>Titulo</td>´);
Valor := Formatfloat(´#,,0.00´,(DmPrincipal.Qry_existe_Estorno.FieldByName(´valor´).asfloat));
WriteLn(Planilha,´<td width=´5¬´ align=´right´>´+ Valor + ´</td>´);
WriteLn(Planilha,´<td width=´5¬´>´ + FormatDateTime(´dd/mm/yyyy´,(DmPrincipal.Qry_Existe_Estorno.FieldByName(´Dta_Cntbl_Orig_Trn´).AsDateTime)) + ´</td>´);
WriteLn(Planilha,´<td width=´5¬´>´ + InttoStr(DmPrincipal.Qry_Conta_Pagamento.FieldByName(´Total_Pagamento´).Asinteger) + ´</td>´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´´);
WriteLn(Planilha,´</body´);
WriteLn(Planilha,´</html>´);


Responder

Gostei + 0

08/02/2008

Felipeucc

Temos video-aulas na clube delphi que ensinam a trabalhar com o excel

https://www.devmedia.com.br/articles/viewcomp.asp?comp=6006

Dê uma olhadinha, a vídeo-aula é boa (tem 3 partes)


Responder

Gostei + 0

08/02/2008

Djjunior

vc também pode salvar com csv, que qualquer aplicativo de ´planilhas´ abrirá e será mais fácil trabalhar.

PS.: csv é um arquivo separado por ; portanto a função seria muito simples tipo e genérica funcionando para qualquer qry:

function ExportToCSV(qry: TQuery; NomeArq: String);
var i integer;
     linha: string;
     texto: TStringList;
begin
   Texto := TstringList.Create;
with qry do begin
//Primeiro coloca os Titulos
   for i := 0 to fieldsCount - 1 do 
      linha := linha + Field[i].DisplayLabel + ´;´ ;
   Texto.Lines.Add(Linha);      

//Agora joga os registros
   while not eof do begin
      linha := ´´;
      for i := 0 to fieldsCount - 1 do 
         linha := linha + Field[i].AsString + ´;´ ;
      Texto.Lines.Add(Linha);      
      next;
   end;
   Texto.SaveTofile(NomeArq);

end;



Responder

Gostei + 0

10/02/2008

Aroldo Zanela

Colega,

Outra alternativa é utilizar um filtro ou gerador de relatórios com opção de exportação para o Excel. Um opção free é o FortesReport.


Responder

Gostei + 0

11/02/2008

Asales

Olá Etspaz,
eu utilizo o component mxExports da www.maxcomponents.net que acho fácil de usar pois eh só selecionar o dataset a ser exportado.


Responder

Gostei + 0

11/02/2008

Steve_narancic

Também pode utilizar os componentes da palheta [b:d220eccc76]Servers[/b:d220eccc76].


Responder

Gostei + 0

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

Aceitar