50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
1

خواندن از اکسل و ثبت در بانک اطلاعاتی

سلام

میشه یکی کمک کنه می خوام از یک فایل اکسل یک سری فیلد رو مقدار دهی کنم نمی دونم چکار کنم و از کجا شروع بکنم ببخشید من با سی شارپ کار میکنم می خوام یک 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; 
        }
    }

پیغام خطاء

سلام 
میشه یکی کمک کنه می خوام از یک فایل اکسل یک سری فیلد رو مقدار دهی کنم نمی دونم چکار کنم و از کجا شروع بکنم ببخشید من با سی شارپ کار میکنم می خوام یک sheet از یک فایل اکسل رو توی بانک اطلاعاتی sql توی یک جدول خاصی ذخیره کنم ممنون من کد زیر رو نوشتم اما خطا میدهد نمی دانم چطور اصلاحش کنم 
<left>
<c#>
 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; 
        }
    }
<c#>
<left>
پیغام خطاء
||http://tosinso.com/files/get/b02f90b4-6125-4198-a71c-8c43293498da||
پرسیده شده در 1394/08/23 توسط

5 پاسخ

2

سلام آقای khzitcenter

ببینید دوست عزیز شما عنوان سئوالتون با متن سئوال مغایرت داره.

در ضمن نوع دیتابیس رو مشخصی نکردید.!

حالا سئوال بنده از شما:

1-آیا شما می خواید یک فایل اکسل رو اطلاعاتش رو بخونید و داخل دیتابیس بریزید(SQL,Oracle)؟

یا اینکه بالعکسش رو انجام بدید؟یعنی اینکه از دیتابیس اطلاعات جداول رو خونده و در قالب یک فایل اکسل بعنوان خروجی در نظر بگیریم.؟

2-پایگاه داده و همینطور آفییس شما چه ورژنی است؟

لطفا این سئوالات رو پاسخ دهید تا بتونم به شما راهنمایی کنم.

پاسخ در 1394/08/23 توسط
1

سلام

سوالتون خیلی کلیه ... من متوجه نشدم

اما اگر با مطلب کار میکنید با تابع xlsread میتونید فایل اکسل رو بخونید وبا xlswrite میتونید داخل اکسل data بنویسید

پاسخ در 1394/08/23 توسط
2

در قسمتی از کد صفحه فوق از کلاس SQLBulkCopy استفاده کرده شما هم سعی کنید همیشه در این قبیل سناریوها از این کلاس استفاده کنید چون سرعت خیلی خوبی جهت انتقال Flat File ها رو داره. از قبیل Excel،CSV,Txtو ...

یک کاربرد دیگه ای هم که میتونم خدمتتون بگم در بحث اقلام فاکتور هم میتونید از این موضوع استفاده کنید.

پاسخ در 1394/08/23 توسط
4

شما برای کار با فایل های Excel می تونید از کتابخانه EPPlus استفاده کنید. کار باهاش هم خیلی راحته. موضوع مهم خوندن مقادیر از اکسل هست که با این کتابخانه انجامش بدید و مرحله بعد تو بانک اطلاعاتی اضافه کنید.

پاسخ در 1394/08/23 توسط
0

جناب آقای M.T من می خوام از فایل اکسل که ورژنش از 2007 به بالا هستش به بانک اطلاعاتی sql 2008 اطلاعاتمو ذخیره کنم زبان برنامه نویسی من سی شارپ هستش

پاسخ در 1394/08/23 توسط

پاسخ شما