نمایش نتایج 1 تا 15 از 15

نام تاپیک: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

  1. #1

    فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    با سلام خدمت دوستان میخوام اطلاعات داخل DBGrid رو به اکسل بفرستم تو محیط Delphi XE میتونید کمکم کنید؟

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1390
    محل زندگی
    تهران
    پست
    84

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    داخل DBGRid اطلا عات نیست و فقط برای نمایش اطلاعات به کار میره دیتابیسی که بهش وصل شده چی هست؟

  3. #3

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    با تشکر از شما دوست عزیز بانکم SQL Server 2008 هسن که با TADOQuery به آن وصل شدم.

  4. #4
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    نحوه فرستادن اطلاعات از dbgrid به excel

    فرقی نمی کنه بانکت چیه. یا اینکه adotable یا adoquery و یا dbgrid باشه می تونی اطلاعاتشون بفرستی به اکسل



    uses COMObj,excelxp;
    Function ExportToExcel(oDataSet : TDataSet; sFile : String): Boolean;
    var
    iCol,iRow : Integer;

    oExcel : TExcelApplication;
    oWorkbook : TExcelWorkbook;
    oSheet : TExcelWorksheet;

    begin
    iCol := 0;
    iRow := 0;
    result := True;

    oExcel := TExcelApplication.Create(Application);
    oWorkbook := TExcelWorkbook.Create(Application);
    oSheet := TExcelWorksheet.Create(Application);

    try
    oExcel.Visible[0] := False;
    oExcel.Connect;
    except
    result := False;
    MessageDlg('Excel may not be installed', mtError, [mbOk], 0);
    exit;
    end;

    oExcel.Visible[0] := True;
    oExcel.Caption := 'Export to excel';
    oExcel.Workbooks.Add(Null,0);

    oWorkbook.ConnectTo(oExcel.Workbooks[1]);
    oSheet.ConnectTo(oWorkbook.Worksheets[1] as _Worksheet);

    // iRow := 1;

    for iCol:=1 to oDataSet.FieldCount do begin
    // oSheet.Cells.Item[iRow,iCol] := oDataSet.FieldDefs.Items[iCol].Name;
    // oSheet.Cells.Item[iRow,iCol] := oDataSet.Fields[iCol-1].FieldName;
    end;

    // iRow := 2;

    oDataSet.Open;
    while NOT oDataSet.Eof do begin
    Inc(iRow);

    for iCol:=1 to oDataSet.FieldCount do begin
    oSheet.Cells.Item[iRow,iCol] := oDataSet.Fields[iCol-1].AsString;
    end;

    oDataSet.Next;
    end;

    //Change the wprksheet name.
    oSheet.Name := 'List of Accounts';

    //Change the font properties of all columns.
    oSheet.Columns.Font.Color := clPurple;
    oSheet.Columns.Font.FontStyle := fsBold;
    oSheet.Columns.Font.Size := 10;

    //Change the font properties of a row.
    oSheet.Range['A1','A1'].EntireRow.Font.Color := clNavy;
    oSheet.Range['A1','A1'].EntireRow.Font.Size := 16;
    oSheet.Range['A1','A1'].EntireRow.Font.FontStyle := fsBold;
    oSheet.Range['A1','A1'].EntireRow.Font.Name := 'Arabic Transparent';

    //Change the font properties of a row.
    oSheet.Range['A2','A2'].EntireRow.Font.Color := clBlue;
    oSheet.Range['A2','A2'].EntireRow.Font.Size := 12;
    oSheet.Range['A2','A2'].EntireRow.Font.FontStyle := fsBold;
    oSheet.Range['A2','A2'].EntireRow.Font.Name := 'Arabic Transparent';
    oSheet.Range['A2','H2'].HorizontalAlignment := xlHAlignCenter;
    {
    //Change the font properties of a column.
    oSheet.Range['A1','C1'].EntireColumn.Font.Color := clBlue;

    //Change Cells color of a row.
    oSheet.Range['A1', 'A1'].EntireRow.Interior.Color := clNavy;

    //Change Cells color of a column.
    oSheet.Range['C1', 'C1'].EntireColumn.Interior.Color := clYellow;

    //Align a column.
    oSheet.Range['A1','A1'].HorizontalAlignment := xlHAlignLeft;

    //Set a column with manually.
    // oSheet.Columns.Range['A1','A1'].ColumnWidth := 16;
    }
    //Auto fit all columns.
    oSheet.Columns.AutoFit;


    DeleteFile(sFile);

    Sleep(2000);

    oSheet.SaveAs(sFile);
    oSheet.Disconnect;
    oSheet.Free;

    oWorkbook.Disconnect;
    oWorkbook.Free;

    oExcel.Quit;
    oExcel.Disconnect;
    oExcel.Free;
    end;



    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ExportToExcel(DBGrid1.DataSource.DataSet,'d:\MyDat a.XLS');
    end;


    آخرین ویرایش به وسیله سعید صابری : یک شنبه 20 شهریور 1390 در 20:59 عصر

  5. #5

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    با تشکر از دوست عزیزم کاملا انجام شد فقط اگه میشه بهم بگین چجوری میتونم در اولین سطر اکسل عنوان اون ستونو بنویسم

  6. #6
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    با این قسمت کد


    oSheet.Cells.Item[iRow,iCol]

  7. #7

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    عنوانو باید کجای این دستور بنویسم؟

  8. #8
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE


    oSheet.Cells.Item[1,1]:='متن'


    یادت باشه حلقه فور از 2 شروع کنی که خونه اول مجدد پر نشه

  9. #9

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    با سلام خدمت دوست عزیز
    راه حل اشاره شده در بخش بالا بسیار زیبا و کاربردی هست . من هم پیشنهاد می کنم در صورتیکه قصد داری امکانات Export را به برنامه های کاربردی خودت اضافه کنی از کامپوننت EMS_Advanced_Export استفاده کنی، کامپوننت فوق علاوه بر اینکه قادر است اطلاعات dbgrid را به بیش از 24 فرمت مختلف صادر کنه ، امکان تنظیم مربوط به هر قسمت را هم داره نظیر اینکه در فایل excel مقصد سطر ها و ستون ها چه فونت و رنگ و پهنا و ... داشته باشند . به همین صورت برای سایر فرمت ها نظیرdoc, xml, html,pdf, و..............

    موفق باشی...

  10. #10

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    سلام بچه ها،
    یه سوال اون کدی که گذاشتید رو چطور باید استفاده بکنیم؟
    تو Button کلیک کردید و مسیر فایل اکسل رو گذاشتید این که هیچ؛ اما اون کدهای بالا رو کجا باید استفاده بکنیم؟
    از اون بالا تا پایین رو میگم؟

  11. #11
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE


    uses COMObj,excelxp;


    در قسمت بالاي يونيت برنامه كلمه uses نوشته شده و يك سري كد زيرش اين دو تا هم بهشون اضافه كن COMObj,excelxp
    كدهاش تابع هم زير implementation كپي كن

    بعد هر جا برنامهي مي توني تابع را صدا بزني

  12. #12

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    http://s1.picofile.com/file/75510953...excel.zip.html

    سلام بچه ها، با تشکر از آقا سعید عزیز
    من این برنامه رو نوشتم و براتون گذاشتم
    میتونید استفاده بکنید.
    امیدوارم که همگی بتونیم به هم کمک بکنیم

  13. #13

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    سلام
    دقت داشته باشید که برای اینکار کامپوننتهایی هستند که این کار را برای شما به راحتی انجام میدهند. از جمله آنها می توان به کامپوننت TJvDBGridExcelExport موجود در مجموعه JVCL اشاره کرد.
    موفق باشید...

  14. #14

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    نقل قول نوشته شده توسط Object Pascal مشاهده تاپیک
    سلام
    دقت داشته باشید که برای اینکار کامپوننتهایی هستند که این کار را برای شما به راحتی انجام میدهند. از جمله آنها می توان به کامپوننت TJvDBGridExcelExport موجود در مجموعه JVCL اشاره کرد.
    موفق باشید...
    سلام و تشکر
    لطفا طرز کار اين کامپوننت را روي دلفي XE3 توضيح دهيد.و بانک اکسس
    با آرزوي سلامتي براي شما
    آخرین ویرایش به وسیله kamran749 : یک شنبه 06 مرداد 1392 در 01:42 صبح دلیل: اضافه کردن

  15. #15

    نقل قول: فرستادن اطلاعات داخل DBGrid به اکسل در دلفی XE

    نقل قول نوشته شده توسط yhakzar مشاهده تاپیک
    با سلام خدمت دوست عزیز
    راه حل اشاره شده در بخش بالا بسیار زیبا و کاربردی هست . من هم پیشنهاد می کنم در صورتیکه قصد داری امکانات Export را به برنامه های کاربردی خودت اضافه کنی از کامپوننت EMS_Advanced_Export استفاده کنی، کامپوننت فوق علاوه بر اینکه قادر است اطلاعات dbgrid را به بیش از 24 فرمت مختلف صادر کنه ، امکان تنظیم مربوط به هر قسمت را هم داره نظیر اینکه در فایل excel مقصد سطر ها و ستون ها چه فونت و رنگ و پهنا و ... داشته باشند . به همین صورت برای سایر فرمت ها نظیرdoc, xml, html,pdf, و..............

    موفق باشی...
    سلام و تشکر
    لطفا طرز کار اين کامپوننت را روي دلفي XE3 توضيح دهيد.من هر کاري کردم موفق به ارسال دبي گريد به اکسل نشدم.بانکم اکسس است.
    با آرزوي سلامتي براي شما

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •