PDA

View Full Version : سوال: کپی اطلاعات جدول excel در جدول sql



علی فتحی
شنبه 17 آبان 1393, 23:42 عصر
دوستان حرفه ای اگر ممکنه جواب دهند ممنون میشم:

یک جدول اکسل دارم با ستونهای id,name,family که حاوی اطلاعات است حالا همین جدول رو در برنامه ام دارم بانک sql 2008en چگونه اطلاعات داخل جدول اکسل رو در بانک برنامه ام کپی کنم.

در ضمن در برنامم از ef استفاده کردم .با کد نویسی سی شارپ. با تشکر

محمد رضا فاتحی
یک شنبه 18 آبان 1393, 08:50 صبح
سلام الان دقیقا با کدوم قسمتش مشکل دارید؟
خوندن از اکسل یا وارد گردن تو دیتابیس؟
اگه از اکسل می خواین بخونید
یه همچین کدی کمکت می کنه


string conection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties=Excel 4.0";
OleDbConnection oconn = new OleDbConnection(conection);
// string[] name;
string command = "select * from [Sheet1$]";


OleDbDataAdapter da = new OleDbDataAdapter(command, oconn);
DataTable dt = new DataTable();
try
{
da.Fill(dt);
}
catch
{
FarsiMessage.Show("امکان برقراری ارتباط با فایل اکسل انتخاب نمی باشد\n\nمطمئن شوید که نام شیت را بدرستی وارد نموده باشید", "", FarsiMessageBoxButtons.OK, FarsiMessageBoxIcons.Stop);
return;
}


برای وارد کردن اطلاعات تو دیتابیس هم احتیاج به توضیح نیست!!!

safa.net
پنج شنبه 13 خرداد 1395, 16:04 عصر
لطفا وارد کردن در دیتابیس رو هم توضیح بدین ممنون

اینم کد من که خطا داره :

string conection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ Application.StartupPath + "\\Excel\\holo.xlsx" + "; Extended Properties=Excel 4.0"; OleDbConnection oconn = new OleDbConnection(conection);
OleDbDataAdapter da = new OleDbDataAdapter("select * from [holo$]", oconn);
DataTable dt = new DataTable();


da.Fill(dt);




using (SqlConnection sqlconnection = new SqlConnection(@"Data Source=.\SQLExpress;
Initial Catalog=testexcell; Integrated Security=True;"))
{
sqlconnection.Open();


// create table if not exists
string createTableQuery = @"Create Table [Product1] (Name nvarchar(Max), Price float)";
SqlCommand cmd = new SqlCommand(createTableQuery, sqlconnection);
cmd.ExecuteNonQuery();


// روش اول


using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(sqlconnection))
{
sqlBulkCopy.DestinationTableName = dt.TableName;


foreach (var column in dt.Columns)
sqlBulkCopy.ColumnMappings.Add(column.ToString(), column.ToString());


sqlBulkCopy.WriteToServer(dt);
}

safa.net
دوشنبه 17 خرداد 1395, 11:50 صبح
از دوستان کسی نیست جواب بده؟؟

safa.net
جمعه 21 خرداد 1395, 16:21 عصر
واقعا کسی جواب رو نمیدونه!!!