خواندن از اکسل و ثبت در بانک اطلاعاتی
سلام
میشه یکی کمک کنه می خوام از یک فایل اکسل یک سری فیلد رو مقدار دهی کنم نمی دونم چکار کنم و از کجا شروع بکنم ببخشید من با سی شارپ کار میکنم می خوام یک sheet از یک فایل اکسل رو توی بانک اطلاعاتی sql توی یک جدول خاصی ذخیره کنم ممنون من کد زیر رو نوشتم اما خطا میدهد نمی دانم چطور اصلاحش کنم
private void button5_Click(object sender, EventArgs e) { var fileName = @"e:\1.xlsx"; var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; var conn = new SqlConnection(connectionString); conn.Open(); // var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSc hemaGuid.Tables, new object[] { null, null, null, "person" }); var cmd = conn.CreateCommand(); // cmd.CommandText = "SELECT * FROM [" + sheets.Rows[1]["A"].ToString() + "] "; cmd.CommandText = "SELECT * FROM [Sheet1$]"; var adapter = new SqlDataAdapter(cmd); var ds = new DataSet(); DataTable dt = new DataTable(); adapter.Fill(ds); adapter.Fill(dt); dataGridView1.DataSource = dt; } }
پیغام خطاء
5 پاسخ
سلام آقای khzitcenter
ببینید دوست عزیز شما عنوان سئوالتون با متن سئوال مغایرت داره.
در ضمن نوع دیتابیس رو مشخصی نکردید.!
حالا سئوال بنده از شما:
1-آیا شما می خواید یک فایل اکسل رو اطلاعاتش رو بخونید و داخل دیتابیس بریزید(SQL,Oracle)؟
یا اینکه بالعکسش رو انجام بدید؟یعنی اینکه از دیتابیس اطلاعات جداول رو خونده و در قالب یک فایل اکسل بعنوان خروجی در نظر بگیریم.؟
2-پایگاه داده و همینطور آفییس شما چه ورژنی است؟
لطفا این سئوالات رو پاسخ دهید تا بتونم به شما راهنمایی کنم.
سلام
سوالتون خیلی کلیه ... من متوجه نشدم
اما اگر با مطلب کار میکنید با تابع xlsread میتونید فایل اکسل رو بخونید وبا xlswrite میتونید داخل اکسل data بنویسید
در قسمتی از کد صفحه فوق از کلاس SQLBulkCopy استفاده کرده شما هم سعی کنید همیشه در این قبیل سناریوها از این کلاس استفاده کنید چون سرعت خیلی خوبی جهت انتقال Flat File ها رو داره. از قبیل Excel،CSV,Txtو ...
یک کاربرد دیگه ای هم که میتونم خدمتتون بگم در بحث اقلام فاکتور هم میتونید از این موضوع استفاده کنید.
شما برای کار با فایل های Excel می تونید از کتابخانه EPPlus استفاده کنید. کار باهاش هم خیلی راحته. موضوع مهم خوندن مقادیر از اکسل هست که با این کتابخانه انجامش بدید و مرحله بعد تو بانک اطلاعاتی اضافه کنید.
جناب آقای M.T من می خوام از فایل اکسل که ورژنش از 2007 به بالا هستش به بانک اطلاعاتی sql 2008 اطلاعاتمو ذخیره کنم زبان برنامه نویسی من سی شارپ هستش