سه شنبه , آذر ۲۱ ۱۴۰۲

ارسال اطلاعات DataGrid به اکسل در سی شارپ

ارسال اطلاعات DataGrid به اکسل در سی شارپ

 

با سلام

 

با یکی دیگه از مقالات آموزش کار با WPF در سی شارپ از وب سایت Aspcore.ir در خدمت شما دوستان عزیز هستم. یکی از قابلیت هایی که اکثر برنامه نویسان به اون احتیاج پیدا می کنن ارسال اطلاعات DataGrid به اکسل در سی شارپ هست. چون بسیاری از افراد انتقال اطلاعاتشون به اکسل و کار با داده ها در اکسل بسیار براشون مهم هست.

 

یکی از کنترلهای موجود در WPF همون جدول یا DataGrid هستش. در DataGrid شما می تونید لیستی از اطلاعات را مشاهده بفرمایید و عملیات لازم رو روی اون انجام بدید.

 

اما در ادامه مقاله ارسال اطلاعات DataGrid به اکسل در سی شارپ ببینیم چجوری می تونیم اطلاعات موجود در DataGrid رو به اکسل ارسال کنیم.

 

فرض کنید یک اپلیکیشن با WPF دارید که درون آن یک DataGrid وجود دارد که شامل یکسری اطلاعات می باشد. حال می خواهیم با کلیک کردن بر روی یک دکمه اطلاعات موجود در این DataGrid به اکسل انتقال پیدا کند.

 

در ادامه مقاله ارسال اطلاعات DataGrid به اکسل در سی شارپ یک تصویر را مشاهده می کنید که مربوط به یکی از پروزه هام هست :

 

ارسال اطلاعات به اکسل در wpf

 

همانطور که مشاهده می فرمایید یک DataGrid داریم با یکسری اطلاعات و یک دکمه ارسال به اکسل در بالای DataGrid

حال با چه کدی اطلاعات DataGrid را به اکسل ارسال کنیم.

 

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

 

قبل از اینکه نمونه کدها را بنویسیم دقت نمایید که رفرنس زیر را به پروزه خود اضافه نمایید :

 

Microsoft.Office.Interop.Excel

 

پس از اضافه کردن رفرنس بالا کتابخانه های زیر را در بالای کلاس خود استفاده نمایید :

 

;using Excel = Microsoft.Office.Interop.Excel

;using Microsoft.Office.Interop.Excel

 

و در ادامه در رویداد Click از کنترل Buttun می توانید از این کدها استفاده نمایید :

 

private void btn_exporttoexcel_Click(object sender, RoutedEventArgs e)

}

ارسال اطلاعات از جدول به اکسل//
;()Excel.Application excel = new Excel.Application

;excel.Visible = true

;Workbook workbook = excel.Workbooks.Add(System.Reflection.Missing.Value)
;Worksheet sheet1 = (Worksheet)workbook.Sheets[1] ;Excel.Range range
;Excel.Range myRange

for (int i = 0; i < dataGrid.Columns.Count – 3; i++)
}
range = (Excel.Range)sheet1.Cells[1, i + 1];
sheet1.Cells[1, i + 1].Font.Bold = true;
range.Value = dataGrid.Columns[i].Header;

for (int j = 0; j < dataGrid.Items.Count; j++)
}
;TextBlock b = dataGrid.Columns[i].GetCellContent(dataGrid.Items[j]) as TextBlock
;myRange = sheet1.Cells[j + 2, i + 1] ;myRange.Value = b.Text
{

{

{

 

 

ارسال اطلاعات DataGrid به اکسل در سی شارپ

7 نظر ثبت شده است.

  1. سلام استاد
    وقت بخیر
    این دستور برای تعداد محدود خوب هستش
    ولی اگه تعداد ردیف های زیاد باشه (مثلا ۳۰۰۰ ردیف) چطور باید اطلاعات ذخیره کنیم در اکسل.
    ممنون

  2. سلام دست شما درد نکنه زحمت کشیدید. یک سوال داشتم حالا گه بخوایم همین اطلاعات رو از اکسل بخونیم باید چیکارکنیم

  3. خدا خیرت بده
    عالی بود
    کلی دنبالش گشته بودم

  4. سلام

    اگه ممکنه از این آموزشتون یک فیلم تهیه کنید واقعا ممنون میشم

    T.ME/AmirStreamer

    https://aparat.com/amirkh001

    ممنون میشم اگه پیام بدین یا به پی ویم بفرستین

    • سعید بحرانی فرد

      با سلام
      این آموزش در مورد افزودن فونت به ویندوز هست
      آموزش خاصی نمیخواد
      هر فونتی که میخواید رو در پوشه fonts در control panel کپی و پیست بفرمایید
      موفق باشید

  5. عالی بود توضیحتون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *