StringGridi Excel Dosyaya Gönderme

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

StringGridi Excel Dosyaya Gönderme

Mesaj gönderen naile »

StringAlignGrid için yaptım ama sanırım StringGrid için de çalışır.
Bir de Delphide gelen ExcelAppication componentini kullandım. Grid içindeki değerler okunarak açılan excel sayfasına yazdırılıyor.

Kod: Tümünü seç

procedure SendExcel(rapor_grid:TStringAlignGrid;ExcelApplication1:TExcelApplication);
var
  RangeE: Excel2000.Range;
  i,j, Row: Integer;
  Format: OleVariant;
begin
  ExcelApplication1.Visible [0] := False;
  ExcelApplication1.Workbooks.Add(null,0);
  RangeE := ExcelApplication1.ActiveCell;
  Format := '@';
  Row := 1;
   try
      for j := 0 to rapor_grid.RowCount - 1  do
      begin
        RangeE := ExcelApplication1.Range ['A' + IntToStr (Row),'A' + IntToStr (Row)];
        for i := 0 to rapor_grid.ColCount - 1  do
        begin
          RangeE.NumberFormat := Format;
          RangeE.Value := rapor_grid.Cells[i,j];
          RangeE := RangeE.Next;
        end;
        Inc (Row);
      end;
  finally
    ExcelApplication1.Visible [0] := True;
    ExcelApplication1.Disconnect;
  end;
end;
mavsar

Mesaj gönderen mavsar »

Yukarıdakıi bilgilere ek olarak şunu da eklemek isterim. Delphiden export ettiğiniz bilginin (strin grid,dbgrid...) formatlı bir şekilde Excele gitmesini istiyorsanız. İlk önce sade bir export yapın. Ardından Excel de yapmak istediğiniz düzenlemeleri (kenarlık(border),yazı fontu...) yapın ve Visual Basic düzenleyicisi ile source görün. Ardından Delphi de aynı değişiklikleri yapın.

Tabi ExcelApplication nesnesi kullanrk yapacağınız export 500 row için bir problem olmaz fakat kayıt sayısı 10.000 veya üstü bir rakam ise bu durumda XLS dosya yapısını öğrenerek ona direk yazan bir fonksiyon veya unit yazın aksi takdirde performans sorunu çıkar. Demedi demeyin :lol:
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Naile hanım'a

Mesaj gönderen AliRiza »

Naile hanım burada excelapplication nesnesi ile formatlı göndermişsiniz..Ben bunu ole nesnesi ile yapmak istiyorum..
Bunu nasıl yaparım.Excel.range diye kullandığımda ole nesnesi desteklemiyor diye uyarı alıyorum..
_________________
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Kullanıcı avatarı
r_korkmaz44
Üye
Mesajlar: 63
Kayıt: 11 Ara 2005 01:00

Dbgridden Excele aktarım

Mesaj gönderen r_korkmaz44 »

Arkadaşlar Dbgridten excele verileri nasıl aktarabiliriz. Şimdiden teşşekürler..
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Re: Dbgridden Excele aktarım

Mesaj gönderen naile »

r_korkmaz44 yazdı:Arkadaşlar Dbgridten excele verileri nasıl aktarabiliriz. Şimdiden teşşekürler..
:ara OLE
ile
Cevapla