Formatar Valor no Excel
Olá.
No meu sistema importo para o excel valores recebido em determinado dia, até aqui tudo bem, esta exportando corretamente.
Porém a coluna de valores não esta em formato de número e sim de caracter, mesmo mudando no excel o tipo de coluna ele não aceita,
gostaria de saber como faço já para exportar neste formato.
Valor em númerico e Data para Data.
Obrigado.
No meu sistema importo para o excel valores recebido em determinado dia, até aqui tudo bem, esta exportando corretamente.
Porém a coluna de valores não esta em formato de número e sim de caracter, mesmo mudando no excel o tipo de coluna ele não aceita,
gostaria de saber como faço já para exportar neste formato.
Valor em númerico e Data para Data.
Obrigado.
Emarcolongo
Curtidas 0
Melhor post
Cacau
25/09/2006
Olá
Utilize a propriedade NumberFormat que funciona perfeitamente!
veja:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Case Fields.Fields[NumColuna - 1].DataType of
ftDate:
begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´dd/mm/aaaa´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftTime:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´hh:mm:ss´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftDateTime:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := dd/mm/aaaa hh:mm´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftCurrency:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´R$ #.0,00_)´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].Value;
end
else
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsString;
end
else
oPlanilha.Range[StrCell, StrCell].Value := ´´;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Para mais detalhes sobre as máscaras, consulte o help do Excel.
Espero que tenha ajudado...
Bjus!
Camila
Utilize a propriedade NumberFormat que funciona perfeitamente!
veja:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Case Fields.Fields[NumColuna - 1].DataType of
ftDate:
begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´dd/mm/aaaa´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftTime:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´hh:mm:ss´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftDateTime:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := dd/mm/aaaa hh:mm´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsDateTime;
end;
ftCurrency:
Begin
oPlanilha.Range[StrCell, StrCell].NumberFormat := ´R$ #.0,00_)´;
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].Value;
end
else
oPlanilha.Range[StrCell, StrCell].Value := DBGrid.Fields[numColuna-1].AsString;
end
else
oPlanilha.Range[StrCell, StrCell].Value := ´´;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Para mais detalhes sobre as máscaras, consulte o help do Excel.
Espero que tenha ajudado...
Bjus!
Camila
GOSTEI 1
Mais Respostas
Emarcolongo
13/09/2006
up
GOSTEI 0
Emarcolongo
13/09/2006
up
GOSTEI 0
Leorez
13/09/2006
uso dessa formar:
Excel.Range[´C´+ IntToStr(iL), ´C´+ IntToStr(iL) ].Value :=
fieldbyName(´Val_Item´).AsFloat;
Excel.Range[´C´+ IntToStr(iL), ´C´+ IntToStr(iL) ].Style := ´Currency´;
Excel.Range[´C´+ IntToStr(iL), ´C´+ IntToStr(iL) ].Value :=
fieldbyName(´Val_Item´).AsFloat;
Excel.Range[´C´+ IntToStr(iL), ´C´+ IntToStr(iL) ].Style := ´Currency´;
GOSTEI 0
Emarcolongo
13/09/2006
Obrigado a todos, vou testar.
GOSTEI 0