تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
نقل البيانات من DataGridView إلى ملف Excel في مشروع C#
#1
الشلام عليكم و رحمة الله و بركاته

لنفترض أنك تريد نقل البيانات من DataGridView إلى ملف Excel في مشروع C#، يمكنك القيام بذلك باستخدام مكتبة مثل EPPlus أو Interop Excel. في هذا المثال، سأوضح لك كيفية استخدام مكتبة EPPlus لأنها سهلة الاستخدام وفعالة في التعامل مع ملفات Excel.

الخطوات:
تثبيت مكتبة EPPlus:

يمكنك تثبيت مكتبة EPPlus باستخدام NuGet Package Manager. افتح مدير الحزم NuGet من خلال القائمة: Tools > NuGet Package Manager > Package Manager Console، ثم أدخل الأمر التالي:

PHP كود :
Install-Package EPPlus 



استخدام المكتبة لتصدير البيانات:

بعد تثبيت المكتبة، يمكنك كتابة الكود التالي لتصدير البيانات من DataGridView إلى ملف Excel:


كود :
using System;
using System.Windows.Forms;
using OfficeOpenXml;
using System.IO;

namespace DataGridViewToExcel
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void ExportToExcel()
       {
           using (ExcelPackage excelPackage = new ExcelPackage())
           {
               // إنشاء ورقة عمل جديدة
               ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Data");

               // إضافة رؤوس الأعمدة
               for (int i = 0; i < dataGridView1.Columns.Count; i++)
               {
                   worksheet.Cells[1, i + 1].Value = dataGridView1.Columns[i].HeaderText;
               }

               // إضافة البيانات
               for (int i = 0; i < dataGridView1.Rows.Count; i++)
               {
                   for (int j = 0; j < dataGridView1.Columns.Count; j++)
                   {
                       worksheet.Cells[i + 2, j + 1].Value = dataGridView1.Rows[i].Cells[j].Value?.ToString();
                   }
               }

               // حفظ الملف
               SaveFileDialog saveFileDialog = new SaveFileDialog
               {
                   Filter = "Excel files|*.xlsx",
                   Title = "Save an Excel File"
               };
               if (saveFileDialog.ShowDialog() == DialogResult.OK)
               {
                   FileInfo fi = new FileInfo(saveFileDialog.FileName);
                   excelPackage.SaveAs(fi);
               }
           }
       }

       private void btnExport_Click(object sender, EventArgs e)
       {
           ExportToExcel();
       }
   }
}


شرح الكود:
إضافة رؤوس الأعمدة:

الكود يضيف رؤوس الأعمدة من DataGridView إلى الصف الأول من ورقة العمل.
إضافة البيانات:

يتم ملء الخلايا في ورقة العمل بالبيانات من DataGridView، بدءًا من الصف الثاني.
حفظ الملف:

يتم عرض نافذة حوار لحفظ الملف، وإذا اختار المستخدم حفظ الملف، سيتم حفظه بالاسم الذي اختاره.
ملاحظات:
تأكد من أنك قمت بإضافة DataGridView وButton إلى النموذج الخاص بك وأعطيت الزر اسم btnExport وربطت الحدث Click الخاص بالزر بالطريقة btnExport_Click.
بهذه الطريقة، يمكنك نقل البيانات من DataGridView إلى ملف Excel بسهولة باستخدام C# ومكتبة EPPlus.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة
الرد }}}
تم الشكر بواسطة: justforit , salamandal


الردود في هذا الموضوع
نقل البيانات من DataGridView إلى ملف Excel في مشروع C# - بواسطة غزة العزة - 20-05-24, 10:29 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشروع انشاء قاعدة بيانات sqlite Kamil 13 2,123 02-11-25, 12:44 AM
آخر رد: ba2e44ca9a
  مشروع نظام مكتب المقاولات مصطفى نهشل 1 743 27-09-25, 11:07 PM
آخر رد: ba2e44ca9a
  مشروع تفقيط الأرقام عربي / إنجليزي متعدد العملات [منقول]. asemshahen5 12 17,037 18-07-25, 11:00 AM
آخر رد: amonem
  C# عمل paging لل datagridview بدون stored procedure ggtt17121985 0 606 02-05-25, 06:54 PM
آخر رد: ggtt17121985
  مشروع النسخ الاحتياطي sqllite Kamil 19 1,825 20-01-25, 11:54 AM
آخر رد: salamandal
Video [درس فيديو] مشروع سي شارب استخراج النص من الصورة ويدعم اللغه العربية ahmadpal 4 4,880 08-12-24, 06:27 PM
آخر رد: GOGOME
  مشروع يتيح للمستخدم استخراج الألوان من الصور العتيق 1 427 08-06-24, 04:31 PM
آخر رد: Taha Okla
  كيفية إنشاء اتصال بقواعد البيانات الشائعة باستخدام C#. غزة العزة 3 731 04-06-24, 02:05 AM
آخر رد: salamandal
  مشروع ضغط و صيانة قاعدة بيانات Sql Server غزة العزة 0 738 02-06-24, 12:32 AM
آخر رد: غزة العزة
  مشروع تقريب الارقام Kamil 0 523 01-01-24, 09:04 PM
آخر رد: Kamil

التنقل السريع :


يقوم بقرائة الموضوع: