Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
Kristian

Exportando query p/ Excel

Recommended Posts

Olá. Uso o seguinte código para exportar minha query para uma planilha do Excel:

procedure Tf_cadcli.bt_exportarClick(Sender: TObject);

var linha, coluna : integer;

var planilha : variant;

var valorcampo : string;

begin

 Query1.CachedUpdates := true;

 planilha:= CreateoleObject('Excel.Application');

 planilha.WorkBooks.add(1);

 planilha.caption := 'Exportando dados do dbGrid para o Excel';

 planilha.visible := true;


 Query1.ApplyUpdates;

 Query1.First;


 for linha := 0 to Query1.RecordCount - 1 do

  begin

   for coluna := 1 to Query1.FieldCount - 2 do

    if (Query1.Fields[coluna].DisplayLabel = 'Caixaobs') then

     begin

      valorcampo := Query1.Fields[coluna + 1].AsString;

      planilha.cells[linha + 2,coluna + 1] := valorCampo;

     end

    else

     begin

      valorcampo := Query1.Fields[coluna].AsString;

      planilha.cells[linha + 2,coluna] := valorCampo;

     end;


   Query1.Next;

  end;


 for coluna := 1 to Query1.Fieldcount - 2 do

 begin

  if (Query1.Fields[coluna].DisplayLabel = 'Caixaobs') then

   begin

    valorcampo := Query1.Fields[coluna + 1].DisplayLabel;

    planilha.cells[1,coluna + 1] := valorcampo;

   end

  else

   begin

    valorcampo := Query1.Fields[coluna].DisplayLabel;

    planilha.cells[1,coluna] := valorcampo;

   end;

 end;

 planilha.columns.Autofit;

end;

Nessa query tenho um campo para CPF ou CNPJ. O problema é que, quando o algoritmo passa um CNPJ, o formato do n° muda.

Exemplo:

CNPJ visto no meu software: 44444444444444

O mesmo CNPJ exportado para o excel: 4,4444E+13

Mas se o número for um CPF, Ex: 44444444444 ele é exportado normalmente.

Fico grato se alguém souber ajudar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×
×
  • Criar Novo...