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Ü]-cxDBPivotGrid Seçili Satır Alan Değeri Alma hi_selamlar 2 83 Dün, Saat: 10:40
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ] Resource - Uygulama Üzerinden Veri Gömme hyperxman 8 280 09-05-2018, Saat: 16:18
Son Yorum: hi_selamlar
  [ÇÖZÜLDÜ] Google Calendar API Server tipi Erişim Metodu hakkında tecrübesi olan mrmarman 40 1.367 08-05-2018, Saat: 21:34
Son Yorum: Fesih ARSLAN
  WSDL import [ÇÖZÜLDÜ] malitutuncu 11 700 25-04-2018, Saat: 09:10
Son Yorum: malitutuncu
  C Dll indeki Callback Nasıl Çevrilir? (Çözüldü) erkankurtaga 13 987 15-04-2018, Saat: 22:11
Son Yorum: ilgazinho



Konuyu Okuyanlar: 1 Ziyaretçi