Fórum Exportar dados do DBGRID para Excel #363476

01/09/2008

0

Galera estou com um codigo aqui para exportar os dados do DBgrid para o Excel, esse codigo está funcionando corretamente mas com um unico problema.

Tenho um campo no meu banco de dados com codigos tipo esse 020761181916377537000001 que está como VARCHAR em meu BD.

quando eu exporto para o Excel ele me da o seguinte codigo nesse campo 22+E2207+22 e mesmo que eu tente mudar a formatação no Excel ele não muda o valor fica sempre esse.

segue o codigo para exportar:

procedure TForm1.BitBtn1Click(Sender: TObject);

var linha, coluna : integer;
var planilha : variant;
var valorcampo : string;
begin

//DM.SQLQuery1.CachedUpdates := true;
planilha:= CreateoleObject(´Excel.Application´);
planilha.WorkBooks.add(1);
planilha.caption := ´Exportando dados do dbGrid para o Excel´;
planilha.visible := true;

DM.ClientDataSet1.ApplyUpdates(1);
DM.ClientDataSet1.First;
for linha := 0 to DM.ClientDataSet1.RecordCount - 1 do
begin
for coluna := 1 to DM.ClientDataSet1.FieldCount do
begin
valorcampo := DM.ClientDataSet1.Fields[coluna - 1].AsString;
planilha.cells[linha + 2,coluna] := valorCampo;
end;
DM.ClientDataSet1.Next;
end;
for coluna := 1 to DM.ClientDataSet1.FieldCount do
begin
valorcampo := DM.ClientDataSet1.Fields[coluna - 1].DisplayLabel;
planilha.cells[1,coluna] := valorcampo;
end;
planilha.columns.Autofit;


end;

Se alguem suber oq está acontecendo por favor me ajude.

Valeuu


Cleiflavio

Cleiflavio

Responder

Posts

01/09/2008

Joaoshi

Colega, tente assim:

for coluna := 1 to DM.ClientDataSet1.FieldCount do 
  begin 
    valorcampo := DM.ClientDataSet1.Fields[coluna - 1].AsString; 
    planilha.cells[linha + 2,coluna] := ´´´´ + valorCampo; 
  end; 


Espero ter ajudado.


Responder

Gostei + 0

02/09/2008

Cleiflavio

Cara, vc resolveu 1 problema meu quando trazia os dados se meu codigo era 001.45 ele trazia 1,45 mas com esse codigo isso foi resolvido, mas o grande problema ainda não pois se tenho esse 0095655454100001500001
ele exporta esse codigo 009655545 deixando o resto, tem algum jeito de fazer com que ele exporte todo o codigo ??



Valeuu


Responder

Gostei + 0

02/09/2008

Cleiflavio

joaoshi, Valeuu deu certo sim eu comi bronha na hora de exportar mas deu certo os valores veio igaul..

Cara muito obrigado essa dica me salvouu.

Vleu


Responder

Gostei + 0

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

Aceitar