PDA

View Full Version : خواندن ستون به ستون از اكسل و واردكردن اطلاعاتشدرsql



tanha_nabash
چهارشنبه 25 شهریور 1388, 14:34 عصر
در اكسل من چند تا شت(sheet) دارم حالا مي خواهم اطلاعات هر شت را دريك جدول بريزم و ستون به ستون هم اطلاعات را از اكسل بخوانم چطوري اين كارو بكنم

Beyondsoft
چهارشنبه 25 شهریور 1388, 14:56 عصر
دوست خوبم!
کد زیر را نوشتم، باشد که مشکل حل شود.
اگر نکته ی غیر قابل فهمی وجود داشت، مرا صدا کن !



private void ReadExcel(string sheeeet)
{
System.Data.OleDb.OleDbConnection dbconn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\test.xls; Extended Properties=Excel 8.0;");
System.Data.OleDb.OleDbCommand comm = new System.Data.OleDb.OleDbCommand();
System.Data.OleDb.OleDbDataReader red;

dbconn.Open();
comm.Connection = dbconn;
comm.CommandText = "select * from [" + sheeeet + "$]";

red = comm.ExecuteReader();

red.Read();

int i = 12; //RowCount

while (i > 1)
{
red.Read();
i--;
}


switch (sheeeet)
{
case "shete shomare 1":
myArrayList[0] = Convert.ToDecimal(red[0]);
myArrayList[1] = Convert.ToDecimal(red[1]);
myArrayList[2] = Convert.ToDecimal(red[2]);
myArrayList[3] = Convert.ToDecimal(red[3]);
myArrayList[4] = Convert.ToDecimal(red[4]);
myArrayList[5] = Convert.ToDecimal(red[5]);
myArrayList[6] = Convert.ToDecimal(red[6]);
myArrayList[7] = Convert.ToDecimal(red[7]);
break;
case "shete shomare 2":
myArrayList[0] = Convert.ToDecimal(red[0]);
myArrayList[1] = Convert.ToDecimal(red[1]);
myArrayList[2] = Convert.ToDecimal(red[2]);
myArrayList[3] = Convert.ToDecimal(red[3]);
myArrayList[4] = Convert.ToDecimal(red[4]);
myArrayList[5] = Convert.ToDecimal(red[5]);
myArrayList[6] = Convert.ToDecimal(red[6]);
myArrayList[7] = Convert.ToDecimal(red[7]);
break;

}



}

tanha_nabash
پنج شنبه 26 شهریور 1388, 16:30 عصر
من یک دفتر چه تلفن با اکسل دارم که چندین شیت دارد هر شیت شامل ستون های نام ونام خانوادگی وشرکت و... است حالا من می خوام اول ستون نام بعد نام خانوادگی و... را بخواند در جدول در پایگاه وارد کند برنامه شما جواب نداد
شما چرا ارای را از نو decimal تعریف کردین؟قسمت دستورهاتی داخلی switvh هد متوجه نشدم

Beyondsoft
شنبه 28 شهریور 1388, 10:31 صبح
کد من یک مثال است.

با کمی تغییرات 100 درصد کار خواهد کرد. شا به جای decimal از string استفاده کن.

و درباره switch باید بگم که، اصلاً اونو بی خیال شو. به کار شما نمی یاد.

خیلی ساده شما یکی select از یک شیت می زنی! داده ها رو داخل ریدر می ریزی! سپس رید می کنی ! و از سلول ها استفاده می کنی !

nasr
شنبه 05 شهریور 1390, 14:49 عصر
با سلام
چطور میشه این اطلاعات را در GridView نمایش داد؟
ممنون

raziee
شنبه 05 شهریور 1390, 14:58 عصر
کتابخانه ی متن بازی برای کار با فایل های اکسل نوشته شده.
http://exceldatareader.codeplex.com/