ورود

View Full Version : سوال: تبدیل گرید به فایل Excel



مینا موسوی
پنج شنبه 24 مرداد 1387, 16:21 عصر
سلام
به چه صورت می توان اطلاعات دیبی گرید رو به فایل Excel کانورت کرد.

AlirezaBahredar
جمعه 25 مرداد 1387, 09:09 صبح
می تونید از profgrid_d7 که یک DBGrid پیشرفته هست استفاده کنید.این نوع گرید به راحتی قابلیت export به excel رو پشتیبانی می کنه.


http://rapidshare.com/files/137452711/profgrid_d7.rar

hassan_blue
جمعه 25 مرداد 1387, 12:06 عصر
به این لینک یه سری بزن

http://www.swissdelphicenter.ch/en/showcode.php?id=1427[/url].

مینا موسوی
جمعه 25 مرداد 1387, 15:08 عصر
دوست عزیز AlirezaBahredar

می تونید از profgrid_d7 که یک DBGrid پیشرفته هست استفاده کنید.این نوع گرید به راحتی قابلیت export به excel رو پشتیبانی می کنه.
لینکش مشکل داره.

Hsimple11
جمعه 25 مرداد 1387, 15: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, 12:24 عصر
سلام

دوست عزيز توي لينك زير خود بنده در پست دوم يه نمونه قرار دادم ميتوني اونا دانلود كني

http://barnamenevis.org/forum/showthread.php?t=208910

موفق باشيد