PDA

View Full Version : خواندن اطلاعات از فایل اکسل و نمایش در گرید و ذخیره در بانک اطلاعاتی SQLServer



vb341
سه شنبه 22 مرداد 1392, 21:26 عصر
با سلام
دوستان من یک نمونه کار از نحوه خواندن اطلاعات از فایل اکسل و نمایش اون در گرید و سپس ذخیره کلی اطلاعات نمایش داده شده در گرید در بانک اطلاعاتی لازم دارم . اگر دوستان نمونه کد دارند لطفا کمک و راهنمای بفرمایند

vb341
چهارشنبه 23 مرداد 1392, 18:58 عصر
دوستان کسی نمونه کار نداره ؟

vb341
دوشنبه 28 مرداد 1392, 20:13 عصر
فقط بیننده داریم کسی جواب نداره ؟

ali.rk
سه شنبه 29 مرداد 1392, 13:04 عصر
:متفکر: این رو تو فایل های کامپیوترم پیدا کردم امید وارم بدردت بخوره
109381

djhooman
چهارشنبه 30 مرداد 1392, 21:10 عصر
دوست عزیز

با این تکه کد مشکلت حل میشه


Try
OpenFileDialog1.Filter = "Excel Files (*.xls,*.xlsx)|*.xls,*.xlsx|All Files (*.*)|*.*"
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim pathname As String = OpenFileDialog1.FileName
Dim connect As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & pathname & ";Extended Properties=Excel 8.0;")
Dim adapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", connect)
connect.Open()
adapter.Fill(DS, "DT")
DGV1.DataSource = DS.Tables("DT").DefaultView
DGV1.AutoSizeColumnsMode = True
connect.Close()
connect = Nothing
End If
Catch ex As Exception

End Try

vb341
چهارشنبه 30 مرداد 1392, 22:13 عصر
با تشکر از توجه دوستان عزیز . چک کنم ببینم جواب میگیرم !!!

djhooman
جمعه 01 شهریور 1392, 10:32 صبح
جواب گرفتی یا نه !!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/

vb341
شنبه 02 شهریور 1392, 00:33 صبح
بله دوست عزیز . از توجهتون ممنون .
فقط دو تا مشکل دیگه میمونه :
1 - اینکه فقط اکسل 97 رو ساپورت میکنه
2 - اگر بخوام بعد از خوندن و نمایش در گرید وقتی که حدود 2000 تا رکورد شده ، حالا چطور کل اطلاعات یعنی 2000 تا رکورد موجود در گرید رو به بانک اطلاعاتی منتقل کنم ؟

djhooman
شنبه 02 شهریور 1392, 21:05 عصر
و ناگهان در این زمان آیه حلقه FOR نازل شد ... !!!! ( استغفر اله ) :چشمک:

یه حلقه For که گرید رو سطر به سطر بخونه و یه دستور Insert بذار و یکی یکی بخونه و اینسرت کنه !!!

vb341
شنبه 02 شهریور 1392, 21:27 عصر
میتونی محبت کنی و کدش رو برام بزاری ؟

vb341
شنبه 02 شهریور 1392, 21:28 عصر
در ضمن نگفتی چکار کنم که از اکسل 97 به بعد رو هم ساپورت کنه ؟

farbod61
یک شنبه 03 شهریور 1392, 16:11 عصر
دوست عزیز

با این تکه کد مشکلت حل میشه


Try
OpenFileDialog1.Filter = "Excel Files (*.xls,*.xlsx)|*.xls,*.xlsx|All Files (*.*)|*.*"
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim pathname As String = OpenFileDialog1.FileName
Dim connect As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & pathname & ";Extended Properties=Excel 8.0;")
Dim adapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", connect)
connect.Open()
adapter.Fill(DS, "DT")
DGV1.DataSource = DS.Tables("DT").DefaultView
DGV1.AutoSizeColumnsMode = True
connect.Close()
connect = Nothing
End If
Catch ex As Exception

End Try

یه توضیح میدی درباره کد؟
DS چیه اینجا؟
این کد تو کلید کپی بشه؟

shahryari
یک شنبه 03 شهریور 1392, 16:30 عصر
دی اس یک نمونه از دیتا ست است مثال
dim DS as new dataset

djhooman
یک شنبه 03 شهریور 1392, 22:25 عصر
شما سعی نکنید کپی کنید
اول خط به خط رو آنالیز کنید و روش فکر کنید که چرا اون تکه یا خط کد نوشته شده بعد کاملا متوجه می شوید که تو کجا و کدوم رویداد قرار بدینش ...

vb341
یک شنبه 03 شهریور 1392, 23:06 عصر
دوست عزیز در خصوص Insert اطلاعات گرید در دیتا هم راهنمایی کنید