Merhaba,
dbgride listelediğim 23 tane alan var bunların hepsini excele aktarabiliyorum fakat benim bu 23 alandan seçtiklerimi aktarmam gerekiyor bunun nasıl yapılacağını bir türlü çözemedim yardımcı olabilir misiniz arkadaşlar.
teşekkürler..
excele gridden istenilen sütunların aktarılması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- huseyinert
- Üye
- Mesajlar: 233
- Kayıt: 19 Nis 2005 06:49
- Konum: Bartın
excele gridden istenilen sütunların aktarılması
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Re: excele gridden istenilen sütunların aktarılması
Selamlar,
Burada biraz size iş düşüyor. Arkada gizli bir grid yapabilirsiniz. Bu grid'in Querysi, filtresi, datasource'u filan hepsi diğer (görünen) griddeki gibi olsun. Görünen gridde header tıklandığında, gidip gizli olan gride bu header için kolon oluşturun. Her tıklamada yeni kolonu ekleyin. Daha sonra yeni oluşturduğunuz Gizli gridi export edin.
Çok verimli bir metot değil ama işinizi görür kanaatindeyim.
Kolay Gelsin
Burada biraz size iş düşüyor. Arkada gizli bir grid yapabilirsiniz. Bu grid'in Querysi, filtresi, datasource'u filan hepsi diğer (görünen) griddeki gibi olsun. Görünen gridde header tıklandığında, gidip gizli olan gride bu header için kolon oluşturun. Her tıklamada yeni kolonu ekleyin. Daha sonra yeni oluşturduğunuz Gizli gridi export edin.
Çok verimli bir metot değil ama işinizi görür kanaatindeyim.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
- huseyinert
- Üye
- Mesajlar: 233
- Kayıt: 19 Nis 2005 06:49
- Konum: Bartın
Re: excele gridden istenilen sütunların aktarılması
Selamlar Hocam,
görünen griddeki sütün başlığına tıklanınca gizli gride atacak ama excele gönderirken her defasında hangi başlık olduğu nasıl aktaracağız normalde excele aktarma kodu aşağıdaki gibi yapıyorum burada her hücre için başlıkta vermek lazım ....
görünen griddeki sütün başlığına tıklanınca gizli gride atacak ama excele gönderirken her defasında hangi başlık olduğu nasıl aktaracağız normalde excele aktarma kodu aşağıdaki gibi yapıyorum burada her hücre için başlıkta vermek lazım ....
Kod: Tümünü seç
var
excel, sayfa: Variant ;
d:integer;
r:variant;
begin
Screen.Cursor := crHourGlass;
excel:=createoleobject('excel.application');
excel.workbooks.add;
sayfa:=excel.workbooks[1].worksheets[1];
r:=excel.activeworkbook.worksheets[1].cells[1];
d:=0;
r.cells[1,1]:='TC KİMLİK';
r.cells[1,2]:='ADI SOYADI';
r.cells[1,3]:='UNVANI';
r.cells[1,4]:='SINIFI';
r.cells[1,5]:='BİRİMİ';
r.cells[1,6]:='DOĞUM TARİHİ';
r.cells[1,7]:='CİNSİYET';
r.cells[1,8]:='MEDENİ HAL';
r.cells[1,9]:='ÇOCUK SAYISI';
r.cells[1,10]:='KAN GRUBU';
r.cells[1,11]:='İŞE BAŞ.TAR.';
r.cells[1,12]:='EĞİTİM DURUMU';
r.cells[1,13]:='EMEKLİ/SGK NO';
r.cells[1,14]:='KIDEM YILI';
r.cells[1,15]:='HESAP NO';
r.cells[1,16]:='KURUMU NO';
r.cells[1,17]:='MEZUN OLD. ÜNİVERSİTE';
r.cells[1,18]:='MEZUN OLD. BÖLÜM';
r.cells[1,19]:='E-MAIL';
r.cells[1,20]:='EV TEL';
r.cells[1,21]:='CEP TEL';
r.cells[1,22]:='ADRES';
r.cells[1,23]:='YÖNETİCİLİĞE BAŞ. TARİHİ';
personel_rapor.first;
while Not personel_rapor.eof Do
begin
d:=d+1;
r.cells[1+d,1]:=personel_rapor.FieldByName('KIMLIK_NO').AsString;
r.cells[1+d,2]:=personel_rapor.FieldByName('ad_soyad').AsString;
r.cells[1+d,3]:=personel_rapor.FieldByName('unvan').AsString;
r.cells[1+d,4]:=personel_rapor.FieldByName('sinifi').AsString;
r.cells[1+d,5]:=personel_rapor.FieldByName('birimi').AsString;
r.cells[1+d,6]:=personel_rapor.FieldByName('DOGUM_TAR').AsString;
r.cells[1+d,7]:=personel_rapor.FieldByName('CINSIYET').AsString;
r.cells[1+d,8]:=personel_rapor.FieldByName('MEDENI_HAL').AsString;
r.cells[1+d,9]:=personel_rapor.FieldByName('COCUK_SAYI').AsString;
r.cells[1+d,10]:=personel_rapor.FieldByName('KAN_GRUBU').AsString;
r.cells[1+d,11]:=personel_rapor.FieldByName('ISE_BAS_TARIHI').AsString;
r.cells[1+d,12]:=personel_rapor.FieldByName('EGITIM_DURUMU').AsString;
r.cells[1+d,13]:=personel_rapor.FieldByName('SGK_NO').AsString;
r.cells[1+d,14]:=personel_rapor.FieldByName('KIDEM_YILI').AsString;
r.cells[1+d,15]:=personel_rapor.FieldByName('HESAP_NO').AsString;
r.cells[1+d,16]:=personel_rapor.FieldByName('KURUM_NO').AsString;
r.cells[1+d,17]:=personel_rapor.FieldByName('MEZ_UNIVERSITE').AsString;
r.cells[1+d,18]:=personel_rapor.FieldByName('MEZ_BOLUM').AsString;
r.cells[1+d,19]:=personel_rapor.FieldByName('EMAIL').AsString;
r.cells[1+d,20]:=personel_rapor.FieldByName('EV_TEL').AsString;
r.cells[1+d,21]:=personel_rapor.FieldByName('CEP_TEL').AsString;
r.cells[1+d,22]:=personel_rapor.FieldByName('ADRES').AsString;
r.cells[1+d,23]:=personel_rapor.FieldByName('YONETICI_TARIH').AsString;
personel_rapor.next;
end;
{
d:=d+2;
r.cells[1+d,9]:='BORÇ TOPLAM';
r.cells[2+d,9]:=label3.Caption;
r.cells[1+d,10]:='ALACAK TOPLAM';
r.cells[2+d,10]:=label14.Caption;
r.cells[1+d,11]:='BAKİYE';
r.cells[2+d,11]:=LABEL16.Caption;
}
excel.Columns.AutoFit; // burası colonlari ayarlar
Screen.Cursor := crDefault;
excel.visible:=true;
excel:=unassigned;
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Re: excele gridden istenilen sütunların aktarılması
Merhaba;
Bu iş için ListBox Ekleyebilirsin. Seçili Grid Header ListBox'a eklenir. hangileri seçildi burada görebilirsin/gösterebilirsin. Hatta seçili header Listbox içinde var ise tekrar ekleme yaptırmazsın.
Başlıkları yazdırmak için öncelikle Griddeki eklediğin kolon sayısını tespit edip Örnek 3 tane TC,ADI,SOYADI döngü ile ekleme yaparsın
aynı işlemi bu defa Satırlar için yapacaksın..
Grid üzerindeki verileri Export edeceksen ve buradaki veriler üzerinde işlem yapacaksan Gridin EnableContorl ve DisableControl özelliklerinide kullanmayı ihmal etmeki hızlı sonuçlar alabilesin.
Bu iş için ListBox Ekleyebilirsin. Seçili Grid Header ListBox'a eklenir. hangileri seçildi burada görebilirsin/gösterebilirsin. Hatta seçili header Listbox içinde var ise tekrar ekleme yaptırmazsın.
Başlıkları yazdırmak için öncelikle Griddeki eklediğin kolon sayısını tespit edip Örnek 3 tane TC,ADI,SOYADI döngü ile ekleme yaparsın
Kod: Tümünü seç
r.cells[1,i]:=DBGrid1.Colums[i].Title.Caption;
Grid üzerindeki verileri Export edeceksen ve buradaki veriler üzerinde işlem yapacaksan Gridin EnableContorl ve DisableControl özelliklerinide kullanmayı ihmal etmeki hızlı sonuçlar alabilesin.
Kod: Tümünü seç
//İşlem Başlamadan önce
DBGrid1.DataSource.DataSet.DisableControls;
...
//İşlem Bittikten Sonra
DBGrid1.DataSource.DataSet.EnableControls;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..