PDA

View Full Version : سوال: فرمي براي انتقال اطلاعات از excel به sqlserver



f_g1348
سه شنبه 27 اسفند 1387, 14:27 عصر
سلام
من يه برنامه نوشتم كه ديتابيس آن sqlserver است كد برنامه هم با vb.net .
سوال من اينه كه داده هاي ما در جداول excel است كه به كاربر داده مي شود مي خواهم فرمي در برنامه تعبيه كنم كه اين داده ها رو از excel گرفته و در ادامه داده ها در جدول sqlserver وارد كند.
ممنون مبشم اگه كسي كمك كنه.

anooshiran
سه شنبه 27 اسفند 1387, 20:33 عصر
سلام دوست عزيز

روشي را كه من خودم معمولا بكار ميبرم بدينگونه است كه ابتدا محتويات فايل Excel را به يك DataGridView انتقال مي دهم و سپس از آن طريق در DataBase ذخيره ميكنم.

به هر حال اميدوارم اين كد مشكلت را حل كند



Private Sub ExcelToGrid()
Dim conStr = "PROVIDER=MICROSOFT.JET.OLEDB.4.0; EXTENDED PROPERTIES=EXCEL 8.0; DATA SOURCE= "
conStr += "D:\Test.xls; "
Dim _Str As String = "SELECT * FROM[sheet1$]"
'Dim _Str = "SELECT F1,F2,F3 FROM[sheet1$] WHERE F1='Something'"
Dim olCon As New System.Data.OleDb.OleDbConnection(conStr)
Dim olDtAdp As New System.Data.OleDb.OleDbDataAdapter(_Str, olCon)
Dim dset As New System.Data.DataSet
Try
olDtAdp.TableMappings.Add("Table", "DataTable")
olDtAdp.Fill(dset)
DataGridView1.DataSource = dset.Tables("DataTable")
olCon.Dispose()
Catch ex As Exception
olCon.Close()
End Try
End Sub

f_g1348
چهارشنبه 28 اسفند 1387, 08:09 صبح
از راهنمايي شما متشكرم.
من هم اين روش را قبلا تست كردم ولي وقتي كه اطلاعات از excel به datagrid اومد ديگه از آن به بعد وارد sqlserver نميشه مثل اينكه ديگه نميتونه با sqlserver ارتباط برقرار كنه.

anooshiran
چهارشنبه 28 اسفند 1387, 14:56 عصر
سلام دوست عزيز

اين كاملا امكان پذيره. من يك پروژه نمونه برات نوشتم. در ضمن فايل Excel رو كه ازش استفاده كردم را هم ضميمه كرده ام. اين فايل را در درايو d يا هر جا كه خواستي كپي كن و در databse يك Table با سه فيلد بساز .

اگر مشكلي بود باز هم در خدمت هستم

MehdiRah
چهارشنبه 28 اسفند 1387, 18:27 عصر
اگه برنامه تحت وب باشه چی ؟ اون موقع چه راه حلی دارید ؟

anooshiran
پنج شنبه 29 اسفند 1387, 07:11 صبح
اگه برنامه تحت وب باشه چی ؟ اون موقع چه راه حلی دارید ؟

سلام دوست عزيز

منظورت را از تحت web درست نفهميدم. آيا منظورت اين است كه از webPage استفاده مي كني يا database در سروري در يك شبكه web قرار دارد. اگر كمي زحمت بكشيد و واضحتر توضيح دهيد ، امكان راهمايي آسانتر خواهد بود.

mina.net
شنبه 16 خرداد 1388, 22:12 عصر
سلام دوستان
من می خوام برعکس این کاری شما کردید انجام بدم باید چیکار کنم.
یعنی از SQL به اکسل چطور باید انتقال بدم. البته بدون سیو کردن فایل اکسل . فقط نمایش اگه کاربر خواست می تونه سیو کنه.

amirtaji
جمعه 09 بهمن 1388, 16:06 عصر
دوستان من هم مشکل اینچنینی دارم
من میخوام یک فرم در وب طراحی کنم(asp ترجيحا) که کاربر بتونه فایل اکسل روبا قالب مشخصی که بهش دادیم پر کنه و برای ما ارسال کنه
به عنوان مثال در اون فرم دکمه browse رو بزنه مسیر فایل رو بده و ارسال کنه
پس از ارسال اطلاعات در فایل اکسل در sql ایمپورت بشه تا بعدا ما بتونیم از export بگیریم
من باید 200 تا فرم حسابداری رو از جاهای مختلف بگیرم و همه رو سر جمع کنمو به یک سری جمع و تفریق ها هم نیاز داره
برای اینکه این کارا دستی نشه میخوام از این روش استفاده کنم
اگر امکانش هست یک فرم برام طراحی کنید که یک فایل اکسل ساده با 3 سلول رو برام به sql ایمپورت کنه ممنون میشم
تا ادامشو خودم بنویسم

novinmehran
چهارشنبه 11 فروردین 1400, 13:38 عصر
سلام توی این فایل سطر ها رو توی دیتا گرید ویو ایجاد میکنه ولی خالی هستن

novinmehran
چهارشنبه 11 فروردین 1400, 13:39 عصر
سلام دوست عزيز

اين كاملا امكان پذيره. من يك پروژه نمونه برات نوشتم. در ضمن فايل Excel رو كه ازش استفاده كردم را هم ضميمه كرده ام. اين فايل را در درايو d يا هر جا كه خواستي كپي كن و در databse يك Table با سه فيلد بساز .

اگر مشكلي بود باز هم در خدمت هستم
سلام توی این فایل سطر ها رو توی دیتا گرید ویو ایجاد میکنه ولی خالی هستن