DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Procedimento para Exportar um DataSet ou Query para Excel em Delphi

Simples exemplo que mostra como exportar dados para o Excel.

Importante!

É necessário o Excel estar instalado na máquina onde for
realizar a exportação.

Exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure ExportarToExcel;
var 
  linha, coluna : integer;
  planilha : variant;
  valorcampo : string;
begin
 
  planilha:= CreateoleObject('Excel.Application');
  planilha.WorkBooks.add(1);
  planilha.caption := 'Exportando dados do dbGrid, dataset ou query para o Excel';
  planilha.visible := true;
 
  Query1.First;
  for linha := 0 to Query1.RecordCount - 1 do
  begin
    for coluna := 1 to Query1.FieldCount do
    begin
      valorcampo := Query1.Fields[coluna - 1].AsString;
      planilha.cells[linha + 2,coluna] := valorCampo;
    end;
    Query1.Next;
  end;
  for coluna := 1 to Query1.FieldCount do
  begin
    valorcampo := Query1.Fields[coluna - 1].DisplayLabel;
    planilha.cells[1,coluna] := valorcampo;
  end;
  planilha.columns.Autofit;
end;

Este procedimento é só um exemplo, você pode modifica-lo e melhorar-lo.
Uma sugestão é colocar parâmetros para utilizar ele de forma genérica.

Fonte: https://www.scriptbrasil.com.br/forum/topic/90117-exportar-dados-de-um-dbgrid-para-o-excel/

Facebook Comments Box
  • Giovani Da Cruz
  • 15.689 views
  • 3 comentários
  • 21 de fevereiro de 2018

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

3 respostas para “Procedimento para Exportar um DataSet ou Query para Excel em Delphi”

  1. Thiago Cardoso disse:

    Valeu pelo help, meu amigo.

    Bom saber que a comunidade de programadores segue se ajudando tanto !

    E dá-lhe F9 !!!

  2. jjpereira disse:

    Boa tarde.
    Este procedimento me ajudou muito, nunca tinha exportado dados desta forma. Preciso no entanto incluir a linha referente a quebra do relatório, esta linha fica entre as colunas e os dados da planilha.
    Consegui escrever na 2ª linha, porém os mesmos dados da 1ª.

    for coluna := 1 to adoQryExcel.FieldCount do
    begin
    valorCampo := adoQryExcel.Fields[coluna-1].DisplayLabel;
    planilha.Cells[2, coluna] := valorCampo;
    end;

  3. Claudio Gomes Força disse:

    Quando o campo é string e contém somente números na exportação do delphi para excel, neste código muda o valor por exemplo para 1,23456789012345E+49 que não é o valor original vindo de delphi.

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados