scExcelExport date display format

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Merhaba Arkadaşlar,


TscExcelExport bileşeni ile excel'e rapor aktarıyorum, tarih 10.21.1993 00:00:00 bu şekilde çıkıyor tablede date display formatını dd.mm.yyyy bu şekilde yapıyor yazdırırken iyi ama ne varsa TscExcelExport burada ama çözemedim :(

bilgisi olan arkkadaşlar paylaşırsa sevinirim

teşekkürler
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen Kuri_YJ »

Selamlar,

Anlaşılır olmamış. Soruyu doğru sormak, yanıtı doğru almak ve çözümü kolaylaştırmak için önemli. Zaten konuşma dilinde soruyu sorduğunuzda, aradaki mimik ve vurgulamalar yazıdan anlaşılamadığı için zor oluyor.

Biraz daha açıklayabilir misiniz?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Merhaba,


tablede tarih formatı dd.mm.yyyy bu şekilde ama,

TscExcelExport bileşeni ile excel'e rapor aktarımda, tarihler 10.21.1993 00:00:00 bu şekilde çıkıyor.


teşekkürler
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen Kuri_YJ »

Selamlar,

Bende bu bileşen yok, sizde var ise kendi kurulumunda Demo Applikasyonlar içerisinde bu konuda örnek olduğunu dokumanları söylüyor.
http://www.scip.be/PDF/TscExcelExport%20readme.pdf de Sayfa 22'de, 2. Demo applikasyon. Oradan bakabilirsiniz sanırım.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Evet var hocam inceledim ama bir sonuç yok :(

yinede teşekkürler :)

başka fikri olan var mı acaba ?
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: scExcelExport date display format

Mesaj gönderen esistem »

Selam,
Exceldeki ilgili hücrenin formatını tarih formatı yapmam gerekli diye düşünüyorum, bunun için delphi ile excel dosyasına ulaşıp ilgili hücrelerin formatını değiştirmen gerekli. Nasıl ulaşacağın ise forumda var, hücre formatını nasıl değiştireceğini de excel de bir makro kaydedip hücrenini hangi komutla formatı değiştiğini öğrenebilirsin.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Hocam cevabınız için teşekkürler ama yeterli değil :(

güncel konu.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen mrmarman »

Cell formatının date olduğunu veritabanından anlıyor diyerek yola çıkarsanız, yine db üzerinde ilgili alanı character tabanlı cast ederek deneyebilirsiniz.

Şu bilgiyi de paylaşayım, eğer tarih veya sayı farketmez; değerin başına tek tırnak işareti koyarsanız excel bunu karakter olarak force edecektir. Dolayısı ile hücre formatı ne olursa olsun dokunmayacaktır. Unutmadan, baştaki bu tek tırnak görünmez gizlenir.

Size düşen, veritabanı yakasında sql cümle çıktınızda tarih alanının ürünlerinin önüne tek tırnak ekli olarak raporlamak çözüm olacaktır diye değerlendiriyorum.

Altyapıyı bozmadan çarçabuk çözüm olarak aklıma bu geldi.

Sonucu bildir.
Resim
Resim ....Resim
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen Kuri_YJ »

Selamlar,

Bir de TQuery veya TTable nesnesindeki field'ın display formatını kaldırıp deneyin. Normalde Excel export componentinde mutlaka olması lazım, böyle bir şeyi atlamalarının imkanı yok. Bence dokumanları bir daha inceleyin. Çünkü söylediğiniz o kadar genel ve net bir konu ki, atlamalarının imkanı yok gibi.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Teşekkürler Hocam,

sql "DOGUM_TARIHI datetime" bu şekilde yani tarih seçili. ve display formatı boş (doluda denedim) aşağıdakileride denedim kendi içindeki demolar da aynı bir türlü anlamadım zaten :)

en son componenti yazan firmaya mail attım :)) daha dönmediler bekliyorum

Kod: Tümünü seç

 // scExcelExport1.ExcelWorkSheet.Range['c1', 'c221'].NumberFormat := Format(DateToStr(Date)); 
       scExcelExport1.ExcelApplication.Range['C1','C'].NumberFormat := '0.00'; 
   // scExcelExport1.ExcelWorkSheet.Range['C2','C255'+Format('mm.dd.yy',[TableOrdersShipDate.Value])].Value := TableOrdersShipDate.Value; 
    //  scExcelExport1.ExcelWorkSheet.Range ['C1', 'C35' +format (' yyyy-mm-dd ')].Value:= ' ';
    // scExcelExport1.ExcelWorkSheet.Range['C1','C1000'].Value:= FormatDateTime('mm.dd.yy')
      //    scxclxprtEXCEL_AKTAR.ExcelWorkSheet.Range['K2', 'K5'].NumberFormat:= 'yyyy-mm-dd' ;
   //  scExcelExport1.ExcelWorkSheet.Range['C1','C1'].Value := FormatDateTime ('dd/mm/yy');
    //scExcelExport1.ExcelWorkSheet.Range.['C1','C1'].Text:= FormatDateTime ('dd/mm/yy');
   // scExcelExport1.ExcelWorkSheet.Range.['C1','C1'].FormatDateTime ('dd/mm/yy');
    //scExcelExport1.ExcelWorkSheet.Range['C1','C1'].Value2 :=FormatDateTime('dd/mm/yy');
   // scExcelExport1.ExcelWorkSheet.Range['C1'].foValue:=Format('dd/mm/yyyy');
    // sheet.Range['A1'].NumberFormat = 'dd/mm/yyyy';
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen mrmarman »

Merhaba. Kimse var mı orada ?
- Taa üreticiye sormayı biliyoruz buradaki testi yapmaktan imtina ediyoruz. Bari yalan da olsa "yaptım olmadı" deyiver... :roll:

- "Sonucu bildir" deyince sessiz kalmak saygı sınırını zorluyor. Çözümü uygulayıp uygulamamak sana kalmış beni ilgilendirmez ancak bir yazılan cevaba bir atıf bekliyorum.

- Bir de dediğimi deneyip sonucu bildirir misin ?! ( TEXT veya VALUE hangisi gerekliyse is onu denersin.)

Kod: Tümünü seç

scExcelExport1.ExcelWorkSheet.Range.['C1','C1'].Text := '''' + DateTimeToStr(now); 
veya

Kod: Tümünü seç

scExcelExport1.ExcelWorkSheet.Range.['C1','C1'].Text := #39 + DateTimeToStr(now); 
- Delphi'de tırnak içine alınmış yan yana iki adet tek tırnak bir tek tırnak anlamına gelir.
- Veya #39 karakter olarak tek tırnak işaretine tekabül eder.
Bunu bilemediğinden sessiz kaldın diye değerlendiriyorum.

- Hücre formatın ne olursa olsun bu söylediğim şekilde bir dene ve sonucu bildir lütfen.
Resim
Resim ....Resim
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

Hocam ilginiz için teşekkür ederim :) bir saygısızlık olduysa özür dilerim :( sadece sonuç çıkınca yazmak istedim.

üreticiye sormakta ayıp bir şey yok sanırım ?

ikisinide denetim oluyor hocam ama sürekli günün tarihini atıyor yani tabledeki tarihi atmıyor
sorgu

Kod: Tümünü seç

scExcelExport1.ExcelWorkSheet.Range['C2','C1000'].Value := #39 + DateToStr(now);
sonuç

Kod: Tümünü seç

SaleDate
04.12.2015
04.12.2015
04.12.2015
04.12.2015
04.12.2015
04.12.2015
04.12.2015
04.12.2015
04.12.2015
çözmeye çalışıyorum. :)

#39 ne anlama geldiğini biliyorum ama eminim bilmediğim milyonlarca şey var :)

hocam tekrar teşekkür ederim ilginize.

saygısızlık olduysa özür dilerim :)
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

ascii kodu : 0039 #39 '

belki bilmek isteyen olur
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: scExcelExport date display format

Mesaj gönderen mrmarman »

- "üreticiye sormakta ayıp bir şey yok sanırım ?" deyince yaşını merak ettiğim için şimdi web sitene de baktım, çocuğu olmuş yetişkin birisini görüyorum. Bunun üreticiye mesaj atmayla ilişkili olmadığını sen de anladın. Demogojiye gere yok. :wink:

- Gözünün önündekini bırak denemeyi görmezden geldiğin için manidar kaçtı. Neyse rica ederim.

- Bu örnekte de günün tarihini attığını tahmin etmeye de lüzum yok, zaten öyle. Senin yapacağın iş DateTimeToStr(now) yazan yere kendi veritabanından gelen değeri yazmak.

- Eklememe gerek yok sanırım, veritabanındaki değeri; önünde #39 eklenmiş olarak yazacaksın.

Kod: Tümünü seç

#39 + DateTimeToStr( FieldByName('Tarih').AsDateTime )
veya

Kod: Tümünü seç

#39 + FieldByName('Tarih').AsString
gibisinden.

- Olmadığı halini de buradan kod ile paylaşırsan konu netleşir.
- Bunu son bir defa dene sonra bir daha sorulara karışmayacağım.
Resim
Resim ....Resim
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: scExcelExport date display format

Mesaj gönderen erdogan_ozkaya »

aynı sorun hocam
Cevapla