Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Rastgele sayıda bozulma [Çözüldü]
#1
Merhaba; 


Tarihe ve saate göre rastgele 13 basamaklı sayı  üretiyorum ve bu sayıları databasede string olarak tutuyorum, kullanıcı excele aktardığında sayılar (1,23468E+12) gibi garip bir şekilde excelde görünüyor bu sayının normal görünmesi için ne yapabilirim?

Örnek üretilen sayı:
2106171735519

Excele aktarılan kod:
Sheet.Cells[Row, 1] := FieldByName('TRCode').AsString;

Rasgele sayı üret:
procedure TForm1.Image12UretClick(Sender: TObject);
var
  TRCode: String;
begin
  DateTimeToString(TRCode, 'ddmmyyhhnnzzz', Now);
  Edit1.Text := TRCode;

 // Edit1.Text := Format('%d', [1234567899999 + Random(123456789)]);
end;
Cevapla
#2
Sheet.Columns[i].NumberFormat := AnsiChar('hghghgf');
bu şekilde bir şey buldum.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
Sanırım sorun kod tarafında değil, excelin veriyi yorumlamasında.

Birinci yol: Veri exceldeki kolona sığmıyorsa bu gösterime neden olabilir. Gösterimi kısaltmak için üstel ifade şekli otomatik seçiliyor. Çözüm excelde kolonu biraz genişletmek
Diğer yöntem : Veri aktarma işlemi sonrasında, tüm kolonu seçip veri tipinini metin olarak değiştirebilirsiniz. Veri kolon genişliğine sığmadığında ### gibi bir gösterim olur. Çözüm yine kolon genişliğini artırmak

Denemeler Libre ofis calc da yapıldı. Muktemelen exceldede aynı senaryo geçerlidir.

Görünen çözüm excelin kendi içerisinde.

Edit: Excel export işleminde kolon özellikleri düzenlenebiliyorsa kod içerisinden çözüm üretilmiş olur.
Cevapla
#4
Excel'e hücrenin formatını belirtmelisiniz.
@Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol'ın paylaşımdaki özellik kullanılmalı: NumberFormat 
Ama sayısal değer için # kullanılmalı. Tüm sütun için :
Sheet.Columns[1].NumberFormat := AnsiChar('#');
Yada sadece belirli hücreler için:
Sheet.Cells[Row, 1].NumberFormat := AnsiChar('#');
There's no place like 127.0.0.1
WWW
Cevapla
#5
Merhaba; Sorun çözüldü emeği geçen herkese teşekkür ederim;
Sheet.Cells[Row, 1].NumberFormat := AnsiChar('#');
kodu ile çözülmüştür.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  (Çözüldü) function kullanımı Dostk 3 163 24-07-2018, Saat: 14:54
Son Yorum: Dostk
Exclamation [ÇÖZÜLDÜ] Delphi EXE Resource TR Dil Sorunsalı mrmarman 6 264 12-07-2018, Saat: 11:09
Son Yorum: mrmarman
  [ÇÖZÜLDÜ]-Tip Dönüşümü - [TXSDecimal > Float ) hi_selamlar 6 230 02-07-2018, Saat: 12:19
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ]-n11.com Api Bağlantısı hi_selamlar 3 233 29-06-2018, Saat: 14:46
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ]-Başka Uygulamadaki MDIChild Form Handle Alma hi_selamlar 9 286 29-06-2018, Saat: 09:52
Son Yorum: hi_selamlar



Konuyu Okuyanlar: 1 Ziyaretçi