انتقال اطلاعات از Excel به دیتابیس Sql Server
با سلام
یه پروژه دارم که میخام بعد از انتخاب فایل Excel و زدن دکمه انتقال یا ثبت . اطلاعات داخل فایل (Excel) در دیتابیس ذخیره بشه . پروژه هم AspCore هست .
تشکر
پاسخ هوش مصنوعی
برای انتقال اطلاعات از فایل Excel به دیتابیس SQL Server در پروژه ASP.NET Core، می توانید از کتابخانه ExcelDataReader برای خواندن داده ها از فایل Excel و Entity Framework Core برای ذخیره سازی اطلاعات در دیتابیس استفاده کنید. در ادامه، مراحل انجام کار را توضیح می دهم:
1. ابتدا باید کتابخانه های لازم را نصب کنید. می توانید این کتابخانه ها را از NuGet Package Manager نصب کنید:
Install-Package ExcelDataReader
Install-Package ExcelDataReader.DataSet
Install-Package Microsoft.EntityFrameworkCore.SqlServer
2. سپس یک مدل برای اطلاعاتی که می خواهید در دیتابیس ذخیره کنید ایجاد کنید. به عنوان مثال:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
3. سپس DbContext خود را تعریف کنید:
public class ApplicationDbContext : DbContext
{
public DbSet Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Your_Connection_String");
}
}
4. حالا می توانید کد مربوط به بارگذاری فایل Excel و ذخیره سازی داده ها در دیتابیس را بنویسید:
using (var stream = file.OpenReadStream())
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
var result = reader.AsDataSet();
var table = result.Tables[0]; // فرض بر اینکه اطلاعات در شیت اول هستند
using (var context = new ApplicationDbContext())
{
foreach (DataRow row in table.Rows)
{
var product = new Product
{
Name = row[0].ToString(), // نام محصول
Price = Convert.ToDecimal(row[1]) // قیمت محصول
};
context.Products.Add(product);
}
context.SaveChanges();
}
}
}
5. در نهایت، مطمین شوید که فایل Excel را از طرف کاربر انتخاب کرده اید و دکمه ثبت درست کار می کند.
این مراحل به شما کمک می کند که داده های موجود در فایل Excel را به دیتابیس SQL Server انتقال دهید. امیدوارم این راهنما به شما کمک کند.
سلام من این کار رو انجام دادم ولی کارای زیادی باید انجام داد و اگر بخوام کدهاش رو اینجا بنویسم خیلی طولانیه
اما در مجموع در ابتدا برای انتقال اطلاعات از اکسل توسط Asp.net Core یا سی شارپ به دیتابیس باید یک جدول در دیتابیس ایجاد کنید. ستونهای این جدول با ستونهای اکسل شما باید مطابقت داشته باشه. مثلا اگر فایل اکسل شما 5 تا ستون داره جدول شما هم باید همون 5 تا ستون رو داشته باشه. البته میتونید یه فیلد هم به عنوان کلید اصلی در نظر بگیرید به صورت Identity که میشه 6 تا ستون در جدول.
بعد از اون باید کتابخانه DotNetCore.NPOI رو به پروژه اضافه کنی و توسط کلاس ExcelData تک تک رکوردها رو در دیتابیس ذخیره کنید.
for (int i = 0; i < ExcellRowCount; i++)
{
ExcellData ED = new ExcellData();
ED.Command_CorpTitle = Excell.GetExcel1[1];
ED.Command_Gid = Excell.GetExcel1[2];
}
برای دریافت سمپل ها میتونید توی گوگل سرچ کنید c# import excell to sql یا Asp.net core import excell to sql
موفق باشید
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2