محمد علي23 نشر 2 مايو 2020 أرسل تقرير نشر 2 مايو 2020 انا صممت برنامج للمدرسة التي اعمل بها بلغة c# .. وهي قاعدة بيانات الطلاب واريد اضيف زر استيراد بيانات من ملف excel الى قاعدة البيانات .. كيف ؟؟ وشكرا جزيـــــلا .. 1 اقتباس
0 Mohamd Imran نشر 2 مايو 2020 أرسل تقرير نشر 2 مايو 2020 مرحباً@محمد علي23 يمكنك إستخدام حزمة Npoi.Mapper مخصصة لهذا الغرض وكيفية الإستخدام عملت كود بسيط لإستيراد ملف إكسل يمكنك إضافته والتعديل عليه بما يتناسب مع البرنامج الخاص بك مثلأ تعديل أسماء الحقول المراد إستيرادها من ملف الإكسل الخاص بك مثال هكذا using System.IO; using System.Linq; using Npoi.Mapper; using Npoi.Mapper.Attributes; using NPOI.SS.UserModel; using UserManagementService.Models; namespace JobCustomerImport.Processors { public class ExcelEmailProcessor { private UserManagementServiceContext DataContext { get; } public ExcelEmailProcessor(int customerNumber) { DataContext = new UserManagementServiceContext(); } public void Execute(string localPath, int sheetIndex) { IWorkbook workbook; using (FileStream file = new FileStream(localPath, FileMode.Open, FileAccess.Read)) { workbook = WorkbookFactory.Create(file); } var importer = new Mapper(workbook); var items = importer.Take<MurphyExcelFormat>(sheetIndex); foreach(var item in items) { var row = item.Value; if (string.IsNullOrEmpty(row.EmailAddress)) continue; UpdateUser(row); } DataContext.SaveChanges(); } private void UpdateUser(MurphyExcelFormat row) { //LOGIC HERE TO UPDATE A USER IN DATABASE... } private class MurphyExcelFormat { [Column("District")] public int District { get; set; } [Column("DM")] public string FullName { get; set; } [Column("Email Address")] public string EmailAddress { get; set; } [Column(3)] public string Username { get; set; } public string FirstName { get { return Username.Split('.')[0]; } } public string LastName { get { return Username.Split('.')[1]; } } } } } 2 اقتباس
0 عزام عبد الحافظ نشر 2 مايو 2020 أرسل تقرير نشر 2 مايو 2020 مرحباً بك @محمد علي23. هذا مثال يقرأ البيانات من excel إلى متغير datatable من خلاله يمكنك حفظ البيانات إلى أي قاعدة بيانات , أرفقت لك البرنامج أيضاً. تنبيه : قم بتغيير مسار الملف و ورقة excel . using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Excel_to_Database { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //excel دالة تقرأ البيانات من private static DataTable makeDataTableFromSheetName(string filename, string sheetName) { //excel نص الإتصال الخاص ب System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0; " + "data source='" + filename + "';" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\" "); //جدول فارغ DataTable dtImport = new DataTable(); // معين sheet أمر يحلب كل البيانات من System.Data.OleDb.OleDbDataAdapter myImportCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [" + sheetName + "$]", myConnection); //dtImport ملء بيانات إلى myImportCommand.Fill(dtImport); // نتيجة الدالة return dtImport; } // حدث يعمل عند فتح البرنامج مباشرة private void Form1_Load(object sender, EventArgs e) { //makeDataTableFromSheetName متغير جدول إفتراضي يحتوي على ناتج من دالة DataTable fromExcel = makeDataTableFromSheetName(@"C:\Users\azzam\Desktop\Sample.xlsx", "Sheet1"); //datagridview تعين الجدول إلى dataGridView1.DataSource = fromExcel; } } } شكراً لك. Excel to Database.zip 1 اقتباس
السؤال
محمد علي23
انا صممت برنامج للمدرسة التي اعمل بها بلغة c# .. وهي قاعدة بيانات الطلاب
واريد اضيف زر استيراد بيانات من ملف excel الى قاعدة البيانات .. كيف ؟؟
وشكرا جزيـــــلا ..
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.