PDA

View Full Version : حرفه ای: گرفتن یک فایل اکسل به عنوان ورودی و ذخیره ان در دیتابیس



alireza_rashvand
چهارشنبه 27 آذر 1392, 21:21 عصر
سلامخدمت همه دوستان
دوستان اگر لینکی یا کمی دازند لطفا بفرمایند , حیاتی است.
در یک پروژه خواستن که از ورودی یک اکسل بگیرند و در دیتابیس ذخیره بشه.
البته خواسته هایی هم دارند مثلا کاربر بتونه بگه کدام فیلد اکسل با فیلد دیتابیس یکی بشه.
برای اینکه ممکنه اکسل ها از یک استانداردی نباشند و کاربر خودش بگه کدام قسمت ها رو می خواهد نظیر بشه با فیلد دیتابیس
البته قسمت دوم ولش , اول باید بتونم اکسل رو ذخیره کنم بعد بتونم با جزئیات این کار رو بکنم.

دوستان اگر می دانند چگونه یک اکسل رو در sql ذخیره کنم ممنون می شم
نمونه کدی که استفاده کردم
زبان برنامه نویسی C#‎
اکسل 2013
دیتابیس sql server 2008

alireza_rashvand
پنج شنبه 28 آذر 1392, 16:14 عصر
این کد رو برای ذخیره کردن پیدا کردم جواب هم می دهد:

void insert()
{

string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\2.xlsx;Extended Properties=""Excel 12.0 Macro;HDR=YES""";

// Create Connection to Excel Workbook
using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
{
OleDbCommand command = new OleDbCommand("Select name,family FROM [Sheet1$]", connection);
connection.Open();
// Create DbDataReader to Data Worksheet
using (DbDataReader dr = command.ExecuteReader())
{
// SQL Server Connection String
string sqlConnectionString = "Data Source=MY\\MY;Initial Catalog=Mod;Integrated Security=True";
// Bulk Copy to SQL Server
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
{
bulkCopy.DestinationTableName = "T1";
bulkCopy.WriteToServer(dr);
}
}
}
}



اگر دوستان برای جزئیات پیشنهاد دارند بفرماییند.