PDA

View Full Version : سوال: ارسال اطلاعات از اکسل به گرید ویو در وی بی دات نت



niknam_mh
چهارشنبه 03 اردیبهشت 1399, 15:24 عصر
سلام دوستان
من نیاز دارم که مقدار زیادی اطلاعات رو از اکسل بیارم تو دیتاگریدویو و از اونجا با تغییرات بفرستم به دیتابیس sql
دوستان میشه کمکم کنید.ممنونم
نیاز فوری دارم

hamidrezax1
چهارشنبه 03 اردیبهشت 1399, 18:30 عصر
سلام دوست عزیز





'...........................................انت خاب مسیر فایل اکسل.......................................... .......


If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Label1.Text = OpenFileDialog1.FileName
Else
Me.Close()
Exit Sub
End If
'...............................................ا نتقال اطلاعات از اکسل به دیتاگرد.................................... .........
Try
Dim MyConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Me.Label1.Text + ";Extended Properties=Excel 12.0;")
Dim MyCommand As New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
Dim datatable As New System.Data.DataTable


MyCommand.Fill(datatable)
DataGridView1.DataSource = datatable
MyConnection.Close()
Catch ex As Exception
MsgBox("کاربر گرامی نام شیت انتخابی در اکسل صحیح نمی باشد", MsgBoxStyle.Information, "هشدار")
Exit Sub
End Try




دوست عزیز از اینجا به بعد چندین راه دارید مثلا
دیتاتیبلتون رو بر اساس تغیراتی که در دیتاگرید میدید آبدیت کنید و بعد دیتابیستون رو آبدیت کنید



Dim query = "SELECT * FROM [test].[dbo].[tst]"
Using adapter As New SqlDataAdapter(query, "Data Source=.;Initial Catalog=test;Integrated Security=True")
Dim builder As New SqlCommandBuilder(adapter)
adapter.Update(DataTable)
End Using

niknam_mh
چهارشنبه 03 اردیبهشت 1399, 19:30 عصر
سلام ممنون از پاسختون دوست عزیز
این ارور رو میده نمی دونم مشکل چیه ؟

151638

the king
چهارشنبه 03 اردیبهشت 1399, 19:56 عصر
سلام ممنون از پاسختون دوست عزیز
این ارور رو میده نمی دونم مشکل چیه ؟

151638
بخاطر باگ ای که در vBulletin هست کد هایی که در پست ها نوشته میشه ممکنه تغییر کنه، مثلا نوشته بودند Provider=Microsoft.ACE ولی Provider=Micros oft.ACE نشون داده میشه. اگر اون دو تا کاراکتر فاصله بین oft و Micros رو در مقدار MyConnection حذف نکرده اید حتما حذف شون کنید تا بشه Microsoft

niknam_mh
چهارشنبه 03 اردیبهشت 1399, 20:16 عصر
بخاطر باگ ای که در vBulletin هست کد هایی که در پست ها نوشته میشه ممکنه تغییر کنه، مثلا نوشته بودند Provider=Microsoft.ACE ولی Provider=Micros oft.ACE نشون داده میشه. اگر اون دو تا کاراکتر فاصله بین oft و Micros رو در مقدار MyConnection حذف نکرده اید حتما حذف شون کنید تا بشه Microsoft

ممنون دوست گلم
باز این ارور رو میده
151639

hamidrezax1
چهارشنبه 03 اردیبهشت 1399, 20:29 عصر
ویندوزی که استفاده میکنید به همراه ماکروسافت آفیس چه ورژنی هستش؟

niknam_mh
چهارشنبه 03 اردیبهشت 1399, 20:45 عصر
ویندوز 10 نسخه 64 و آفیس 2016

از چه ویندوز و چه آفیسی استفاده کنم بهتره؟

hamidrezax1
چهارشنبه 03 اردیبهشت 1399, 20:51 عصر
ویندوز مهم نیست اما آفیس نهایتا 2010 فکر میکنم OleDb رو پشتیبانی کنه
بهترین آفیس 2007 فکر میکنم باشه

niknam_mh
چهارشنبه 03 اردیبهشت 1399, 20:59 عصر
ویندوز مهم نیست اما آفیس نهایتا 2010 فکر میکنم OleDb رو پشتیبانی کنه
بهترین آفیس 2007 فکر میکنم باشه

پس من اگه آفیس 2010 نصب کنم مشکلم حل میشه؟
ویژوال هم نسخه 2019 هست این چی تاثیری نداره؟

hamidrezax1
چهارشنبه 03 اردیبهشت 1399, 21:09 عصر
دوست عزیز
OleDb نهایتا تا 2013 فکر میکنم پشتیبانی کنه.اگر ویژوال پشتیبانی نمیکرد بهتون خطا میداد و اعلام میکرد که کدتون منسوخ شده اما برای راحتی کارتون پیشنهاد میکنم از آفیس 2007 استفاده کنید.البته توی نت اگر بگردین فایل هایی هستن که مشکلتون رو برطرف کنه یادمه خودم این فایل به یکی از دوستان داخل همین تالار ارائه دادم.اما کماکان پیشنهادم آفیس 2007 هستش.موفق باشید

niknam_mh
چهارشنبه 03 اردیبهشت 1399, 21:29 عصر
ممنونم از لطف شما دوست عزیزم

aidin2345
چهارشنبه 10 اردیبهشت 1399, 13:57 عصر
ممنون دوست گلم
باز این ارور رو میده
151639
سلام
علی الظاهر شما یه رشته (string) دارین که نمیتونه به عدد (double) تبدیل کنه

niknam_mh
پنج شنبه 11 اردیبهشت 1399, 08:06 صبح
سلام
مشکل من هم حل نشد دوستان نمی تونن کمک کنن؟

hamidrezax1
پنج شنبه 11 اردیبهشت 1399, 16:20 عصر
سلام دوست عزیز همونجوری که دوست عزیزمون aidin2345 فرمودن مشکل در دیتا شما هستش.

niknam_mh
جمعه 12 اردیبهشت 1399, 18:38 عصر
سلام دوست عزیز همونجوری که دوست عزیزمون aidin2345 فرمودن مشکل در دیتا شما هستش.

سلام
من آفیس ام 2007 و ورژن ویژوال هم 2019 می باشد نمی دونم چرا راه نمی ده؟؟؟

hamidrezax1
جمعه 12 اردیبهشت 1399, 22:16 عصر
سلام دوست عزیز مشکل اصلا از برنامه شما نیست.یکم اگر دقت کنید میبینید که مشکل در دیتای شما هستش.
توی یک قسمتی از دیتاتون توی فیلد Prompt یه داده ای هستش که نمیتونه فرمتش رو قبول کنه
قبل از اینکه دیتات رو تبدیل به اکسل کنی خطاهاش رو بررسی و اونوقت از کدهات استفاده کن
موفق باشید

aidin2345
سه شنبه 16 اردیبهشت 1399, 20:28 عصر
سلام
من آفیس ام 2007 و ورژن ویژوال هم 2019 می باشد نمی دونم چرا راه نمی ده؟؟؟

دوست عزیز همانطور که hamidrezax1 عزیز گفتن توی دیتا بیست رو تغیرات بده
اون فیلد prompt اگر text هست - تبدیل کن به نامبر و دابل
اگر هم دابل و نامبر بود تبدیل کن به text
و ببین حل میشه یا نه ؟

niknam_mh
چهارشنبه 17 اردیبهشت 1399, 15:40 عصر
دوست عزیز همانطور که hamidrezax1 عزیز گفتن توی دیتا بیست رو تغیرات بده
اون فیلد prompt اگر text هست - تبدیل کن به نامبر و دابل
اگر هم دابل و نامبر بود تبدیل کن به text
و ببین حل میشه یا نه ؟
سلام
جواب نمی ده
دوستان کسی نمونه کار نداره؟

hamidrezax1
پنج شنبه 18 اردیبهشت 1399, 22:14 عصر
دوست عزیز این رو چک کنید
ویندوز من 10 و آفیس هم 2010
توی ورژن های پاینتر هم جواب میده
ویژوال 2010
موفق باشید
دانلود (http://uupload.ir/view/edli_import_exel_to_grid.rar/)

niknam_mh
جمعه 19 اردیبهشت 1399, 14:38 عصر
دوست عزیز این رو چک کنید
ویندوز من 10 و آفیس هم 2010
توی ورژن های پاینتر هم جواب میده
ویژوال 2010
موفق باشید
دانلود (http://uupload.ir/view/1gfo_import_exel_to_grid.rar/)
سلام جواب می ده ممنونم دوست عزیز از لطف شما
نمی دونم با چه زبونی تشکر کنم خداخیرت بده خیلی بهش نیاز داشتم.
فقط اگه حالت برعکسش یعنی از گرید ویو به اکسل هم بود عالی میشد.بازم ممنون

hamidrezax1
جمعه 19 اردیبهشت 1399, 17:34 عصر
دوست عزیز اول ساده ترین راه ایمپورت کردن رفرنس های مورد نیاز
اول
151674
دوم
151675
و در نهایت برنامه رو در بالا خدمتتون گذاشتم.موفق باشید

niknam_mh
جمعه 19 اردیبهشت 1399, 22:29 عصر
دوست عزیز اول ساده ترین راه ایمپورت کردن رفرنس های مورد نیاز
اول
151674
دوم
151675
و در نهایت برنامه رو در بالا خدمتتون گذاشتم.موفق باشید
سلام
ممنونم داداشم از لطف شما
رفرنس ها رو هر چی گشتم پیدا نکردم؟؟

hamidrezax1
شنبه 20 اردیبهشت 1399, 09:31 صبح
ويندوزت 64 بي تي هستش؟

niknam_mh
یک شنبه 21 اردیبهشت 1399, 04:54 صبح
ويندوزت 64 بي تي هستش؟
سلام
بله ویندوز سون 64 بیتی هست چون رو سیستمم 32 بیت نصب نمیشه.

hamidrezax1
یک شنبه 21 اردیبهشت 1399, 22:09 عصر
دوست عزیز چند راه وجود داره
اول نصب آفس 64 بیتی
دوم برنامه اتون رو 86X قرار بدین
موفق باشید