Mega Code Archive

 
Categories / Delphi / ADO Database
 

Dbgrid to excell [ data base gridlerinizi kolayca excell formatında kaydedin ]

// ****** DBGrid den EXCELL'e Kolayca kayıt. ****** // Aşağıdaki procedure iki adet parametre almaktadır. // İlk Parametre Excel formatında kaydedilecek olan DBGrid in adıdır. // İkinci Parametre Kaydedeceginiz Excell dosyasının adıdır. // Örnegin DBGridinizin adı "DBGrid1" ve Kaydedeceginiz dosya da // "C:\Deneme.xls" ise kullanım aşağıdaki gibi olacaktır. // DBGridToExcell(DBGrid1, 'C:\Deneme.xls'); // Kolay Gelsin // Türker ÖZDEMİR (turkerozdemir@yahoo.com) // // Not : Uses Kısmında ComObj eklemeyi unutmayın !!!!!! procedure DBGridToExcell(DBG:TDBGrid; FileName:String); var EXCEL, WORKBOOK, SHEET:VARIANT; DBGDataset: TDataSet; k1,k2,k3:Integer; begin DBGDataset:=DBG.DataSource.DataSet; k3:=DBGDataset.RecNo; DBGDataset.DisableControls; EXCEL := CREATEOLEOBJECT('EXCEL.APPLICATION'); EXCEL.VISIBLE :=False; WORKBOOK :=EXCEL.WORKBOOKS.ADD; SHEET:=WORKBOOK.WORKSHEETS[1]; try For k1:=0 to DBG.Columns.Count-1 do begin SHEET.CELLS[1,k1+1]:=DBG.Columns[k1].Field.DisplayName; SHEET.Columns[k1+1].ColumnWidth:=(0.139*DBG.Columns[k1].Width); end; DBGDataset.First; k2:=1; While not(DBGDataset.Eof) do begin k2:=k2+1; For k1:=0 to DBG.Columns.Count-1 do begin SHEET.CELLS[k2,k1+1]:=DBG.Columns[k1].Field.AsString; end; DBGDataset.Next; end; WORKBOOK.SaveAs(FileName); ShowMessage('Excell Formatında Kayıt Tamamlandı'); finally EXCEL.DisplayAlerts := False; EXCEL.Quit; EXCEL:=Unassigned; DBGDataset.RecNo:=k3; DBGDataset.EnableControls; end; end;