View Full Version : سوال: تبدیل گرید به فایل Excel
  
مینا موسوی
پنج شنبه 24 مرداد 1387, 17:21 عصر
سلام
به چه صورت می توان اطلاعات دیبی گرید رو به فایل Excel کانورت کرد.
AlirezaBahredar
جمعه 25 مرداد 1387, 10:09 صبح
می تونید از profgrid_d7 که یک DBGrid پیشرفته هست استفاده کنید.این نوع گرید به راحتی قابلیت export به excel رو پشتیبانی می کنه.
http://rapidshare.com/files/137452711/profgrid_d7.rar
hassan_blue
جمعه 25 مرداد 1387, 13:06 عصر
به این لینک یه سری بزن
http://www.swissdelphicenter.ch/en/showcode.php?id=1427[/url].
مینا موسوی
جمعه 25 مرداد 1387, 16:08 عصر
دوست عزیز AlirezaBahredar
می تونید از profgrid_d7 که یک DBGrid پیشرفته هست استفاده کنید.این نوع گرید به راحتی قابلیت export به excel رو پشتیبانی می کنه.
لینکش مشکل داره.
Hsimple11
جمعه 25 مرداد 1387, 16:21 عصر
با کد می توانید :
منبع سایت Delphi3000
// NOTE: this method must include the COMObj, Excel97 units
// UPDATE: if you use Delphi 4 you can replace xlWBatWorkSheet with 1 (one)
//-----------------------------------------------------------
// if toExcel = false, export dbgrid contents to the Clipboard
// if toExcel = true, export dbgrid to Microsoft Excel
procedure ExportDBGrid(toExcel: Boolean);
var
  bm: TBookmark;
  col, row: Integer;
  sline: String;
  mem: TMemo;
  ExcelApp: Variant;
begin
  Screen.Cursor := crHourglass;
  DBGrid1.DataSource.DataSet.DisableControls;
  bm := DBGrid1.DataSource.DataSet.GetBookmark;
  DBGrid1.DataSource.DataSet.First;
  // create the Excel object
  if toExcel then
  begin
    ExcelApp := CreateOleObject('Excel.Application');
    ExcelApp.WorkBooks.Add(xlWBatWorkSheet);
    ExcelApp.WorkBooks[1].WorkSheets[1].Name := 'Grid Data';
  end;
  // First we send the data to a memo
  // works faster than doing it directly to Excel
  mem := TMemo.Create(Self);
  mem.Visible := false;
  mem.Parent := MainForm;
  mem.Clear;
  sline := '';
  // add the info for the column names
  for col := 0 to DBGrid1.FieldCount-1 do
    sline := sline + DBGrid1.Fields[col].DisplayLabel + #9;
  mem.Lines.Add(sline);
  // get the data into the memo
  for row := 0 to DBGrid1.DataSource.DataSet.RecordCount-1 do
  begin
    sline := '';
    for col := 0 to DBGrid1.FieldCount-1 do
      sline := sline + DBGrid1.Fields[col].AsString + #9;
    mem.Lines.Add(sline);
    DBGrid1.DataSource.DataSet.Next;
  end;
  // we copy the data to the clipboard
  mem.SelectAll;
  mem.CopyToClipboard;
  // if needed, send it to Excel
  // if not, we already have it in the clipboard
  if toExcel then
  begin
    ExcelApp.Workbooks[1].WorkSheets['Grid Data'].Paste;
    ExcelApp.Visible := true;
  end;
  FreeAndNil(ExcelApp);
  DBGrid1.DataSource.DataSet.GotoBookmark(bm);
  DBGrid1.DataSource.DataSet.FreeBookmark(bm);
  DBGrid1.DataSource.DataSet.EnableControls;
  Screen.Cursor := crDefault;
end; 
با کامپوننت هم میتوانید :
لینک دانلود (http://3d2f.com/programs/32-903-smexport-suite-for-delphi-cbuilder-download.shtml)
حسین شهریاری
یک شنبه 23 اسفند 1388, 13:24 عصر
سلام
 
دوست عزيز توي لينك زير خود بنده در پست دوم يه نمونه قرار دادم ميتوني اونا دانلود كني
 
http://barnamenevis.org/forum/showthread.php?t=208910
 
موفق باشيد
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.