Exportação para Excel quebrada por grupo
14/02/2013
0
Seguinte estou tendo em fazer uma exportação para o Excel quebrando os dados por grupo.
Exemplo. Tenho uma tabela clientes e quero que traga na exportação quebrando por cidade...
Tipo:
São Paulo
Nome: Telefone:
Fulano de tal 115255656
Astrogildo Silva 115566524
Rio de Janeiro
Nome: Telefone:
Fulano de tal 115255656
Astrogildo Silva 115566524
Estou captando dados de uma Query de um relatório.
Se alguém ai tiver uma ideia sera muito bem vinda.
Sds a todos.
Hugo Henrick
Posts
14/02/2013
Perivaldo Martins
Seguinte estou tendo em fazer uma exportação para o Excel quebrando os dados por grupo.
Exemplo. Tenho uma tabela clientes e quero que traga na exportação quebrando por cidade...
Tipo:
São Paulo
Nome: Telefone:
Fulano de tal 115255656
Astrogildo Silva 115566524
Rio de Janeiro
Nome: Telefone:
Fulano de tal 115255656
Astrogildo Silva 115566524
Estou captando dados de uma Query de um relatório.
Se alguém ai tiver uma ideia sera muito bem vinda.
Sds a todos.
Como está montada essa query? Ela já traz essa agrupamento ou não? Passe mais detalhes por gentileza.
Boa sorte e bons códigos!
14/02/2013
Hugo Henrick
Na verdade esse foi o exemplo mais fácil que encontrei. Pois tenho um relatório que imprime esses dados.
A exportação teria que ser separada pela conta e seu devido grupo, como fiz no exemplo citado anteriormente.
Minha Query esta montada asssim:
select M.COD_MOVIMENTO, M.DT_FATURAMENTO, M.DT_BAIXA, M.DT_VENCIMENTO AS DATA, M.TIPO_DC, C.NOME AS CLIENTE, M.HISTORICO, M.NUM_DOC, I.VALOR, CT.DESCRICAO AS CONTA, GP.DESCRICAO AS GRUPO, GP.TIPO, CT.COD_CONTA, GP.COD_GRUPO_RD from TBL_ITENS_MOV I INNER JOIN TBL_MOVIMENTO M ON (I.CH_COD_MOVIMENTO = M.COD_MOVIMENTO) INNER JOIN TBL_CONTAS CT ON (CT.COD_CONTA = I.CH_COD_CONTA) LEFT JOIN TBL_GRUPO_RD GP ON (GP.COD_GRUPO_RD = CT.CH_COD_GRUPO_RD) INNER JOIN TBL_CLIENTE C ON (C.CODIGO = M.CH_COD_CONTATO)
14/02/2013
Hugo Henrick
Segue a função que monta o arquivo:
procedure TFRel.Exporta_Excel; var Excel : variant; nLinha, vCol, i, vCodMovAnt, vCodConta:Integer; begin if SaveDialog1.Execute then begin //************* EXPORTANTO PARA O EXCEL ****************** Try Screen.Cursor := crHourGlass; Excel := CreateOleObject('Excel.Application'); Excel.Visible := False; Excel.Workbooks.Add; qryPrincipal.First; vCodConta := 0; While (Not qryPrincipal.Eof) Do begin if vCodConta <> qryPrincipalCOD_CONTA.AsInteger then begin nLinha:=1; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,1] := qryPrincipalCONTA.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,2] := qryPrincipalGRUPO.AsString; vCodConta := qryPrincipalCOD_CONTA.AsInteger; end; Excel.WorkBooks[1].Sheets[1].Cells[2,1] := 'Dt. Fat.'; Excel.WorkBooks[1].Sheets[1].Cells[2,2] := 'Contato'; Excel.WorkBooks[1].Sheets[1].Cells[2,3] := 'Histórico'; Excel.WorkBooks[1].Sheets[1].Cells[2,4] := 'Nr. Doc'; Excel.WorkBooks[1].Sheets[1].Cells[2,5] := 'Valor'; Excel.WorkBooks[1].Sheets[1].Cells[2,6] := 'Tipo'; Excel.WorkBooks[1].Sheets[1].Cells[2,7] := 'Dt. Venc.'; Excel.WorkBooks[1].Sheets[1].Cells[2,8] := 'Dt. Baixa'; qryPrincipal.Next; // Percorre o arquivo ... nLinha := 3; qryPrincipal.First; While (Not qryPrincipal.Eof) Do begin Excel.WorkBooks[1].Sheets[1].Cells[nLinha,1] := qryPrincipalDT_FATURAMENTO.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,2] := qryPrincipalCLIENTE.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,3] := qryPrincipalHISTORICO.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,4] := qryPrincipalNUM_DOC.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,5] := FormatCurr(Masc_Estoque, qryPrincipalVALOR.AsCurrency); Excel.WorkBooks[1].Sheets[1].Cells[nLinha,6] := qryPrincipalTIPO.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,7] := qryPrincipalDATA.AsString; Excel.WorkBooks[1].Sheets[1].Cells[nLinha,8] := qryPrincipalDT_BAIXA.AsString; INC(nLinha); qryPrincipal.Next; end; end; // Salva e Fecha ... Excel.Columns.AutoFit; Excel.WorkBooks[1].SaveAs(SaveDialog1.FileName); Excel.WorkBooks[1].Close; Finally Screen.Cursor := crDefault; End; Beep; Beep; Messagedlg('Exportação para Excel terminada.',mtInformation,[mbOk],0); end; qryPrincipal.Close; //**************** FIM EXPORTAÇÃO PARA EXCEL end;
14/02/2013
Perivaldo Martins
Boa sorte e bons códigos!
Clique aqui para fazer login e interagir na Comunidade :)