Import Excel File To DataGridView Table By Table Or Sheet By Sheet استيراد بيانات ملف اكسل الى DataGridView
بســـــم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
توجد العديد من الطرق لكيفية القراءة و الكتابة الى ملفات اكسل و بعضها لا يحتاج الى مكاتب خارجية , هذه المقالة تتحدث عن استخدام مكتبة خارجية بسيطة و مجانية و سهلة الاستخدام.
في البداية تحتاج الى انشاء مشروع جديد يحتوي على فورم واحد فقط , و نضع عليه الادوات التالية
DataGridView - نسميها Dgv
ComboBox1
Button نسميه btnOpen
الان نذهب الى Solution Explorer و بيمين الماوس نضغط و من القائمة الظاهرة نختار NuGet Packages
و نتابع كما بالصورة
في اعلى الفورم نعرف DataSet ،سميها Result
| : Vb.net Code |
| Dim Result As New DataSet |
عد ذلك و في حدث الضغط على الزر لفتح ملفات من النوع Excel
PHP كود :
بتحميل اسماء الاوراق كجداول الى ComboBox
Vb.net code Result.Clear()Dgv.DataSource = NothingUsing Ofd As New OpenFileDialog()With Ofd.Filter = "Excel 2003|*.xls|Excel 2007|*.xlsx".ValidateNames = TrueEnd WithIf Ofd.ShowDialog = DialogResult.OK ThenDim fs As IO.FileStream = IO.File.Open(Ofd.FileName, IO.FileMode.Open, IO.FileAccess.Read)Dim Reader As Excel.IExcelDataReaderIf Ofd.FilterIndex = 1 ThenReader = Excel.ExcelReaderFactory.CreateBinaryReader(fs)ElseReader = Excel.ExcelReaderFactory.CreateOpenXmlReader(fs)End IfReader.IsFirstRowAsColumnNames = TrueResult = Reader.AsDataSet()ComboBox1.Items.Clear()For Each Dt As DataTable In Result.TablesComboBox1.Items.Add(Dt.TableName)Reader.Close()NextEnd IfEnd Using
و من ثم اسناد كائن DataGridView الى الجدول المحدد
PHP كود :
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
Dgv.DataSource = Result.Tables(ComboBox1.SelectedIndex)
End Sub
اتمنى ان يكون الشرح واضح❤❤❤❤

