انتقال اطلاعات از 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
موفق باشید
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2