DBGRID de görülen dataları excele aktarım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
u8300693
Üye
Mesajlar: 20
Kayıt: 09 Eki 2003 03:37
Konum: ANKARA

DBGRID de görülen dataları excele aktarım

Mesaj gönderen u8300693 »

DBGRID de görülen dataları excele nasıl aktarabilirim ?

Birde
table1.open;
taple1.locate('mlgrb',edit1.text,[]);

kodları ile edit1 de yazılan rakama göre DBGRID de listeleyebiliyorum. Ama edit1 yerine listbox1 kullandıgım zaman bu komut nasıl yazılabilir.

ilginize şimdiden teşekkür ederim.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

ilk soruya cevap;

QuantumGrid kullanıyorsan;

Kod: Tümünü seç

  dxDBGrid1.SaveToXLS('dosya_adi.xls', True); ile aktarabilirsin. 
yada;


uses a COmObj ekle.

Kod: Tümünü seç

var
  xDS: TBDEDataSet;
  xls, wb, ws, vv: variant;
  i, j: integer;
  fName: string;
  fDosya: textfile;
begin
   xls := CreateOleObject('Excel.Sheet');
   wb := xls.Application.WorkBooks.Add;
   ws := wb.Sheets.Add;
   Query1.DisableControls;
   Query1.First;
   for i := 1 to Query1.RecordCount do
   begin
      for j := 1 to Query1.Fields.Count do
      begin
         if i = 1 then // ilk satır alan adları için.
           ws.Cells(i, j) := Query1.Fields.Fields[j - 1].FieldName;
        vv := Query1.Fields.Fields[j - 1].Value;
        ws.Cells(i + 1, j) := vv;
     end;
    Query1.Next;
  end;
  Query1.EnableControls;
  wb.SaveAs(fName);
end;
burada Query1 yerine DBGrid1.DataSource.DataSet de diyebilirsin.
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

daha acık kod verebilirmisiniz

Mesaj gönderen muhittin_turmus »

recep abi bende dbgrid den sadece gozuken bilgiler excele atmasını istiyorum ama verdiğin kodu aldım olduğu gibi kopyaladım
ama olmadı galiba yanlış yaptım daha açık kod verebilirmisiniz

procedure TForm6.BitBtn1Click(Sender: TObject);
begin
DBGrid1.SaveToXLS('M.xls', True);
end;

END.
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Merhaba....

edit yerine listbox değilde combobox kullansan olmazmı :?:
onunda text ini kullanabilirsin.
eğer listbox olacaksa

Kod: Tümünü seç

table1.locate('mlgrb',listbox1.items[listbox1.itemindex],[]); 
yalnız listbox1 den bir elemanın seçili olması lazım. yani itemindexi kontrol ettirmen lazım. -1 değilse arama yap. yoksa hata verebilir(list index out of bounds) kolay gelsin iyi çalışmalar.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

muhittin_turmus arkadaş;
Eğer Delphi ile gelen grid'i kullanıyorsan recep abinin verdiği kod çalışmaz çünkü o kod QuantumGrid için normal grid kullanıyorsan COmObj olanı kullanmalısın eğer QuantumGrid kullanıpta bir hatta alıyorsan hatayı yazarsan sevinirim iyi çalışmalar.
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

Mesaj gönderen ademiz »

viewtopic.php?t=2909

Burdaki kod işinizi görür kolay gelsin
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

esasında forumda çok çözüm var ama bende bi link vermiştim,
viewtopic.php?p=7694#7694

free,open bir db,query -> excel componenti
http://users.pandora.be/stefancr/Compon ... xcelExport
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Muhittin, eğer QuantumGrid kurulu değilse önceki soruya verdiğim cevabın ikinci tarafına bak.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla