السلام عليكم ورحمه الله وبركاته
هل ممكن احد يفيدني عن طريقة جلب بعض بيانات من ملف اكسل الى داتا جريد فيو بس يكون بشرط بعض البيانات مو كامل الصفحة
يعني جلب عامود معين وصف معين وشكرا لكم
وعليكم السلام ورحمة الله وبركاته،
بالتأكيد يمكن جلب بيانات محددة من ملف Excel إلى DataGridView في Visual Basic. يمكنك استخدام مكتبة
كود :
Microsoft.Office.Interop.Excel
لفتح ملف Excel واختيار البيانات التي تحتاجها. هنا مثال على كيفية القيام بذلك:
- أضف المكتبة إلى مشروعك:
- افتح مشروعك في Visual Studio.
- اذهب إلى
- اختر COM
، ثم ابحث عن Microsoft Excel Object Library وأضفها.
- استخدم الكود التالي لجلب البيانات من ملف Excel وعرضها في DataGridView:
كود :
Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim excelApp As New Application
Dim workbook As Workbook = excelApp.Workbooks.Open("C:\Path\To\Your\ExcelFile.xlsx")
Dim worksheet As Worksheet = workbook.Sheets(1)
' جلب البيانات من الصفوف والأعمدة المطلوبة
Dim startRow As Integer = 2 ' الصف الأول للبيانات (يمكن تغييره حسب الحاجة)
Dim endRow As Integer = 10 ' الصف الأخير للبيانات (يمكن تغييره حسب الحاجة)
Dim startCol As Integer = 1 ' العمود الأول للبيانات (يمكن تغييره حسب الحاجة)
Dim endCol As Integer = 3 ' العمود الأخير للبيانات (يمكن تغييره حسب الحاجة)
Dim data As New List(Of List(Of String))
For row As Integer = startRow To endRow
Dim rowData As New List(Of String)
For col As Integer = startCol To endCol
rowData.Add(worksheet.Cells(row, col).Value.ToString())
Next
data.Add(rowData)
Next
' عرض البيانات في DataGridView
DataGridView1.ColumnCount = endCol - startCol + 1
DataGridView1.Rows.Clear()
For Each rowData As List(Of String) In data
DataGridView1.Rows.Add(rowData.ToArray())
Next
' تنظيف
workbook.Close(False)
Marshal.ReleaseComObject(workbook)
excelApp.Quit()
Marshal.ReleaseComObject(excelApp)
End Sub
End Class
في هذا المثال:
- يمكنك تحديد نطاق الصفوف والأعمدة التي تريد جلب البيانات منها.
- يتم قراءة البيانات من ملف Excel وعرضها في DataGridView.
تأكد من تغيير مسار ملف Excel
إذا كان لديك أي أسئلة إضافية أو تحتاج إلى تخصيص الكود بشكل أكبر، فلا تتردد في السؤال اخي الكريم.
[quote='zazasami' pid='199261' dateline='1722625314']
وعليكم السلام ورحمة الله وبركاته،
بالتأكيد يمكن جلب بيانات محددة من ملف Excel إلى DataGridView في Visual Basic. يمكنك استخدام مكتبة
كود :
Microsoft.Office.Interop.Excel
لفتح ملف Excel واختيار البيانات التي تحتاجها. هنا مثال على كيفية القيام بذلك:
- أضف المكتبة إلى مشروعك:
- افتح مشروعك في Visual Studio.
- اذهب إلى
- اختر COM
، ثم ابحث عن Microsoft Excel Object Library وأضفها.
- استخدم الكود التالي لجلب البيانات من ملف Excel وعرضها في DataGridView:
كود :
Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim excelApp As New Application
Dim workbook As Workbook = excelApp.Workbooks.Open("C:\Path\To\Your\ExcelFile.xlsx")
Dim worksheet As Worksheet = workbook.Sheets(1)
' جلب البيانات من الصفوف والأعمدة المطلوبة
Dim startRow As Integer = 2 ' الصف الأول للبيانات (يمكن تغييره حسب الحاجة)
Dim endRow As Integer = 10 ' الصف الأخير للبيانات (يمكن تغييره حسب الحاجة)
Dim startCol As Integer = 1 ' العمود الأول للبيانات (يمكن تغييره حسب الحاجة)
Dim endCol As Integer = 3 ' العمود الأخير للبيانات (يمكن تغييره حسب الحاجة)
Dim data As New List(Of List(Of String))
For row As Integer = startRow To endRow
Dim rowData As New List(Of String)
For col As Integer = startCol To endCol
rowData.Add(worksheet.Cells(row, col).Value.ToString())
Next
data.Add(rowData)
Next
' عرض البيانات في DataGridView
DataGridView1.ColumnCount = endCol - startCol + 1
DataGridView1.Rows.Clear()
For Each rowData As List(Of String) In data
DataGridView1.Rows.Add(rowData.ToArray())
Next
' تنظيف
workbook.Close(False)
Marshal.ReleaseComObject(workbook)
excelApp.Quit()
Marshal.ReleaseComObject(excelApp)
End Sub
End Class
في هذا المثال:
- يمكنك تحديد نطاق الصفوف والأعمدة التي تريد جلب البيانات منها.
- يتم قراءة البيانات من ملف Excel وعرضها في DataGridView.
تأكد من تغيير مسار ملف Excel
إذا كان لديك أي أسئلة إضافية أو تحتاج إلى تخصيص الكود بشكل أكبر، فلا تتردد في السؤال اخي الكريم.
شكرا اخي على الرد وشرحك الجميل سوف اقوم بالتجربة ومقدر لك تعاونك ودمت
اشكرك zazasami
ولكن لدي استفسار
هل من الممكن جلب بيانات ملف اكسل الى DataTable ومن DataTable اعرض اما اريد من البيانات في DataGridView مثل جلب بيانات من قاعدة اكسيس
ارفقت ملف مثال على ما اريد لكن يظهر جميع محتوى ملف الاكسل اذا امكن تعديل الكود كي اتحكم بعرض بعض البيانات في DataGridView وشكرا لك
(03-08-24, 09:27 PM)alachk كتب : [ -> ]اشكرك zazasami
ولكن لدي استفسار
هل من الممكن جلب بيانات ملف اكسل الى DataTable ومن DataTable اعرض اما اريد من البيانات في DataGridView مثل جلب بيانات من قاعدة اكسيس
ارفقت ملف مثال على ما اريد لكن يظهر جميع محتوى ملف الاكسل اذا امكن تعديل الكود كي اتحكم بعرض بعض البيانات في DataGridView وشكرا لك
يمكنك تخصيص ذلك من خلال جملة الاستعلام التي اتصلت بها مع ملف الاكسل مع وضع الاعمدة المطلوبة بين عارضتين []
كود :
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
DataGridView1.DataSource = Nothing
'DataGridView1.Columns.Clear()
Dim path As String = ofd.FileName
Dim con As New OleDbConnection("Provider=Microsoft.ace.oledb.12.0;data source=" & path & ";Extended Properties=Excel 12.0;")
Dim da As New OleDbDataAdapter("select [الصنف],[الكمية],[السعر] from [Sheet1$] where [السعر] >=100", con)
Dim dt As New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt
End If
End Sub
End Class
شكرا اخي الكود عمل معاي 100/100 الله يعطيك العافية ما قصرت