(17-12-25, 06:30 PM)Ragi كتب : السلام عليكم ورحمة الله وبركاته
أول مشاركة لي مع حضراتكم
عند فتح ملف اكسيل بكود vb.net وجعله يظهر في أداة DGV
لاحظت أنه يعمل مع أجهزة .. ولا يعمل مع أجهزة أخرى
وعند البحث ... اكتشفت حسب نسخة الاوفيس .. وبرنامج اسمه RunTime
فلو سمحتوا أريد حل لتثبيت هذا البرنامج Runtime ..
أو كود لا يحتاج لتشغيل هذا البرنامج Runtime
وعليكم السلام ورحمة الله وبركاته
مرحبا بك أخي العزيز
Ragi
نرحب بك كأحد أعضاء منتدى فيجوال بيسك لكل لعرب
وللإجابة على سؤالك : يمكن الاستغناء عن برنامج
RunTime بتثبيت المكتبتين التاليتين :
ExcelDataReader
ExcelDataReader.DataSet
ولكن قبل تثبيتهما ، يجب التأكد أن مشروعك يعمل بواسطة
FrameWork رقم 4.8
وللتأكد من ذلك انقر قائمة Project ومن هذه القائمة اختر آخر خيار
Properties
ثم اختر من القائمة .NET Framework 4.8
الآن قم بتنصيب المكتبتين اللتان تم ذكرهما في أعلاه ، وذلك باتباع الطريقة التالية :
الآن اختر تبويب Browse ، ثم اكتب في مستطيل البحث ExcelDataReader
الآن انقر اسم المكتبة الأولى وهو ExcelDataReader ، وقم بتثبيته من الجهة المقابلة ، بالنقر على زر Install
والآن اعمل الشيء نفسه في اسم المكتبة الثانية وهو ExcelDataReader.DataSet وذلك لتثبيها باستخدام الطريقة السابقة تماما .
وعلى افتراض أن عندك ملف أكسيل اسمه
Info.xlsx ، وهو موجود في القرص D
اكتب الكود التالي ، ثم قم بتشغيله ، وستجد أن الملف قد تم فتحه بكل سهولة
كود :
Imports System.IO
Imports ExcelDataReader
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LoadExcelToDataGridView("D:\Info.xlsx")
End Sub
Private Sub LoadExcelToDataGridView(filePath As String)
Using stream As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read)
Using reader As IExcelDataReader = ExcelReaderFactory.CreateReader(stream)
Dim result As DataSet = reader.AsDataSet()
DataGridView1.DataSource = result.Tables(0)
End Using
End Using
End Sub
End Class
ملاحظة : هذا الكود لا يعمل مع ملفات الأكسيل القديمة !
هذا ، وأرجو لك التوفيق إن شاء الله .