c# Web

Core Mvc Uygulamasında Excel Tablosundaki Verileri Tabloya Aktarma

Excel dosyasındaki Uygulama Adı, Soru ve Cevap gibi verileri ASP.NET Core MVC ile veritabanına aktarmak için aşağıdaki adımları takip edebilirsiniz. Bu işlem için EPPlus veya NPOI gibi kütüphaneleri kullanarak Excel dosyasını okuyup verileri alabiliriz. Burada EPPlus kütüphanesini kullanacağız, çünkü basit ve kullanımı kolaydır.

EPPlus Kütüphanesini Projeye Dahil Etme

İlk olarak, EPPlus kütüphanesini projenize dahil etmeniz gerekiyor. Bunun için NuGet Package Manager kullanabilirsiniz.

NuGet ile EPPlus yükleme:

Tools > NuGet Package Manager > Manage NuGet Packages for Solution menüsüne gidin.

Browse sekmesine gelin ve EPPlus araması yapın.

EPPlus paketini seçip yükleyin.

Alternatif olarak, Package Manager Console üzerinden şu komutu kullanabilirsiniz:

Install-Package EPPlus

2. Excel Dosyasını Okuma ve Veritabanına Verileri Kaydetme

Excel dosyasındaki verileri okumak ve veritabanına kaydetmek için aşağıdaki adımları izleyebiliriz.

3. Modelinizi Oluşturun

Öncelikle, Excel'den alacağınız verileri kaydedeceğiniz modelinizi oluşturmanız gerekir. Örneğin, Uygulama modeli şöyle olabilir:

public class Uygulama
{
    public int Id { get; set; }
    public string UygulamaAdi { get; set; }
    public string UygulamaSorusu { get; set; }
    public string UygulamaCevabi { get; set; }
}

Veritabanına bu model üzerinden veri kaydedilecek.

4. Controller’da Excel Dosyasını Okuma ve Veritabanına Kaydetme

Excel dosyasını okumak için EPPlus'ı kullanarak verileri alıp, ardından DbContext kullanarak veritabanına kaydedebilirsiniz.

using EPPlus;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SchoolManagement.Data;
using SchoolManagement.Models;
using System.IO;

public class UygulamaController : Controller
{
    private readonly ApplicationDbContext _context;
    public UygulamaController(ApplicationDbContext context)
    {
        _context = context;
    }

    [HttpPost]
    public async Task<IActionResult> UploadExcel(IFormFile file)
    {
        if (file != null && file.Length > 0)
        {
            using (var stream = new MemoryStream())
            {
                await file.CopyToAsync(stream);

                // EPPlus ile Excel dosyasını okuyalım
                using (var package = new ExcelPackage(stream))
                {
                    var worksheet = package.Workbook.Worksheets[0];  // İlk sayfayı alıyoruz

                    int rowCount = worksheet.Dimension.Rows;
                    for (int row = 2; row <= rowCount; row++)  // Başlık satırını atlıyoruz (row = 2)
                    {
                        var uygulama = new Uygulama
                        {
                            UygulamaAdi = worksheet.Cells[row, 1].Text,  // 1. sütun -> Uygulama Adı
                            UygulamaSorusu = worksheet.Cells[row, 2].Text,  // 2. sütun -> Soru
                            UygulamaCevabi = worksheet.Cells[row, 3].Text  // 3. sütun -> Cevap
                        };

                        _context.Uygulamalar.Add(uygulama);  // Veritabanına ekliyoruz
                    }

                    await _context.SaveChangesAsync();  // Veritabanına kaydediyoruz
                }
            }

            return RedirectToAction("Index");  // Başka bir aksiyona yönlendirebilirsiniz
        }

        return View();
    }
}

5. View’da Excel Dosyasını Yüklemek İçin Form

Excel dosyasını yüklemek için bir form eklemeniz gerekir. Bunun için aşağıdaki gibi bir view oluşturabilirsiniz:

@{
    ViewData["Title"] = "Excel Yükle";
}

<h1>@ViewData["Title"]</h1>

<form asp-action="UploadExcel" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="file">Excel Dosyası Yükleyin</label>
        <input type="file" name="file" class="form-control" required />
    </div>

    <button type="submit" class="btn btn-primary">Yükle</button>
</form>

6. Sonuç

Yukarıdaki adımları takip ederek, Excel dosyasındaki Uygulama Adı, Soru ve Cevap verilerini ASP.NET Core MVC uygulamanıza aktarabilirsiniz. Bu işlemi, Excel dosyasını yükledikten sonra Controller içerisinde EPPlus kütüphanesini kullanarak verileri okuyup veritabanına kaydedebilirsiniz.


İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Seri Port Yardımıyla Arduino Devresine Bağlanıp Ledleri Asp.Net Web Uygulamasından Yakıp Söndürme
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama4
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Asp.Net Uygulamasında Manual Olarak JSON Oluşturma
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
2022 TYT Matematik Onbirinci Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama3

Yorum Ekle
   
Kötü İyi