PDA

View Full Version : اضافه کردن مقادیر جدید به فایل اکسل آپلود شده



sh_esharif
دوشنبه 06 مهر 1394, 13:16 عصر
دوستان عزیز سلام
در برنامه فایل اکسلی انتخاب شده و اطلاعات آن باید در دیتابیس ثبت شود.
مشکل اینجاست که علاوه بر داده های فایل اکسل داده های دیگری مانند زمان ثبت نیز باید به داده های هر ردیف اضافه و در دیتابیس ذخیره شود.
اینکار چه جوری انجام میشه؟

قسمتی از کد نوشته شده به صورت زیر است:


OleDbCommand cmd = new OleDbCommand("Select [xProjectName],[xProjectCode],[xStartDate],[xEndDate] from [Sheet1$]", excelConnection);

excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();

SqlBulkCopy sqlBulk = new SqlBulkCopy(sqlConnectionString);
//Give your Destination table name
sqlBulk.DestinationTableName = "tblProjectInfo";
sqlBulk.WriteToServer(dReader);
excelConnection.Close();

Behrouz_Rad
دوشنبه 06 مهر 1394, 13:24 عصر
واضح توضیح ندادید. اینکه چه لزومی داره حتما ردیف های فایل Excel ویرایش بشن و آیا نمیشه هنگام خواندن ردیف، مقداری اضافه رو هم همزمان با مقادیر ردیف در پایگاه داده ذخیره کرد رو مشخص نکردید.
به هر حال، برای کار با فایل های Excel که از فرمت OpenXML استفاده می کنند (Excel 2007 به بالا)، از کتابخانه ی EPPlus (http://epplus.codeplex.com/)استفاده کنید.

موفق باشید.

sh_esharif
چهارشنبه 27 آبان 1394, 17:45 عصر
با سلام و خسته نباشید
من از روشی که گفتید استفاده کردم و جواب گرفتم.
فقط یک موردی که هست اینه که وقتی فایل اکسل تولید میشه موقع باز کردن اخطار
"The file you are trying to open, '[filename]', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now"
میده. اگه yes زده بشه فایل باز میشه و مشکلی هم نداره.
کدهای استفاده شده به صورت زیر است:


Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" + title + ".xls");
Response.ContentType = "application/vnd.xls;";
Response.ContentEncoding = Encoding.GetEncoding("windows-1256");
Response.Write(sb.ToString().Replace("ی", "&#1740"));
Response.End();


لازم به ذکر است که sb رشته ای شامل کدهای html است.
چه تغییری در این کدها باید داده بشه؟ (من از اکسل 2010 استفاده میکنم)
ممنون.