



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/
Você precisa fazer o login para publicar um comentário.
Valeu pelo help, meu amigo.
Bom saber que a comunidade de programadores segue se ajudando tanto !
E dá-lhe F9 !!!
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;
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.