Imports Microsoft.Office.Interop.Excel
Public Class Form2
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
' افتح ملف الإكسل باستخدام OpenFileDialog
Dim openFileDialog As New OpenFileDialog()
openFileDialog.Filter = "ملفات Excel|*.xls;*.xlsx"
If openFileDialog.ShowDialog() = DialogResult.OK Then
Try
DataGridView1.Rows.Clear()
' إعداد التطبيق Excel
Dim excelApp As New Application()
Dim workbooks As Workbooks = excelApp.Workbooks
Dim workbook As Workbook = workbooks.Open(openFileDialog.FileName)
Dim worksheets As Sheets = workbook.Sheets
For i = 1 To worksheets.Count
' اختيار الورقة المطلوبة، يمكن تعديل الاسم حسب اسم الورقة في الملف
Dim worksheet As Worksheet = DirectCast(worksheets(i), Worksheet)
' قراءة البيانات من الصفوف في الورقة وإضافتها مباشرة إلى DataGridView
Dim row As Integer = 2 ' يفترض أن البيانات تبدأ من الصف 2
Do While Not String.IsNullOrEmpty(worksheet.Cells(row, 1).Value)
' استخراج القيم من العمود المطلوب
Dim columnAValue As String = worksheet.Cells(row, "A").Value.ToString()
Dim columnBValue As String = worksheet.Cells(row, "B").Value.ToString()
Dim columnDValue As String = worksheet.Cells(row, "C").Value.ToString()
' إضافة البيانات مباشرة إلى DataGridView
DataGridView1.Rows.Add(columnAValue, columnBValue, columnDValue)
' انتقال إلى الصف التالي
row += 1
Loop
Next
' إغلاق ملف Excel
workbook.Close()
excelApp.Quit()
Catch ex As Exception
MessageBox.Show("حدث خطأ أثناء قراءة ملف Excel: " & ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
End Sub
End Class