منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استيراد ملف اكسل الى DataGridView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
Import Excel File To DataGridView
Table By Table Or Sheet By Sheet
استيراد بيانات ملف اكسل الى DataGridView
جدول جدول او ورقة ورقة
باستخدام المكتبة ExcelDataReader
Using ExcelDataReader

بســـــم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

توجد العديد من الطرق لكيفية القراءة و الكتابة الى ملفات اكسل و بعضها لا يحتاج الى مكاتب خارجية , هذه المقالة تتحدث عن استخدام مكتبة خارجية بسيطة و مجانية و سهلة الاستخدام.

في البداية تحتاج الى انشاء مشروع جديد يحتوي على فورم واحد فقط , و نضع عليه الادوات التالية

  • DataGridView - نسميها Dgv
  • ComboBox1
  • Button نسميه btnOpen

الان نذهب الى Solution Explorer  و بيمين الماوس نضغط و من القائمة الظاهرة نختار NuGet Packages
و نتابع كما بالصورة



في اعلى الفورم نعرف DataSet ،سميها Result

PHP كود :
   Dim Result As New DataSet 
بعد ذلك و في حدث الضغط على الزر لفتح ملفات من النوع Excel

PHP كود :
       Result.Clear()
 
       Dgv.DataSource Nothing

        Using Ofd 
As New OpenFileDialog()

 
           With Ofd
                
.Filter "Excel 2003|*.xls|Excel 2007|*.xlsx"
 
               .ValidateNames True
            End With

            If Ofd
.ShowDialog DialogResult.OK Then
                Dim fs 
As IO.FileStream IO.File.Open(Ofd.FileNameIO.FileMode.OpenIO.FileAccess.Read)
 
               Dim Reader As Excel.IExcelDataReader

                If Ofd
.FilterIndex 1 Then
                    Reader 
Excel.ExcelReaderFactory.CreateBinaryReader(fs)
 
               Else
                    Reader 
Excel.ExcelReaderFactory.CreateOpenXmlReader(fs)
 
               End If

 
               Reader.IsFirstRowAsColumnNames True
                Result 
Reader.AsDataSet()
 
               ComboBox1.Items.Clear()

 
               For Each Dt As DataTable In Result.Tables
                    ComboBox1
.Items.Add(Dt.TableName)
 
                   Reader.Close()
 
               Next

            End 
If

 
       End Using 
و لانني اريد التعامل مع كل ورقة على حدا لذا ساقوم بتحميل اسماء الاوراق كجداول الى ComboBox 
و من ثم اسناد كائن DataGridView الى الجدول المحدد
PHP كود :
   Private Sub ComboBox1_SelectedIndexChanged(sender As ObjectAs EventArgsHandles ComboBox1.SelectedIndexChanged
        Dgv
.DataSource Result.Tables(ComboBox1.SelectedIndex)
 
   End Sub 


المكتبة موجودة مع المثال المرفق
بالتوفيق للجميع
Merci c'est très intéressant
يعطيك العافية والف شكر لك استاذنا
الملف معطوب ممكن تحمل على رابط اخر

وشكرا
(23-11-18, 03:34 PM)the viper كتب : [ -> ]الملف معطوب ممكن تحمل على رابط اخر

وشكرا


الملف يعمل اخى الفاضل 

فقط قم بتحميل اخر اصدار من WinRar

تحياتى لك
وتمنياتى لك التوفيق
(25-11-18, 09:35 AM)elgokr كتب : [ -> ]
(23-11-18, 03:34 PM)the viper كتب : [ -> ]الملف معطوب ممكن تحمل على رابط اخر

وشكرا


الملف يعمل اخى الفاضل 

فقط قم بتحميل اخر اصدار من WinRar

تحياتى لك
وتمنياتى لك التوفيق

اسف اخي المقصد انه عند عملية التحميل لايكمل العملية

انظر للمرفقات
جزيل الشكر لك
اريد كيفية التحرير
جزاك الله خير يا ابو ليلى ولكن كيف يمكنني ان اجعل زر من خلاله يتم معرفة اخر صف في جدول معين ثم اضافة جميع محتويات datagridview
بارك الله فيك
الصفحات : 1 2