c# Web
Beğen (0)

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.

Okunma Sayısı: 1

Yorumlar

Yorum Ekle
Kötü İyi
İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Asp.Net Platformunda Harici JSON Dosyasından Namaz Vakitlerini Alma
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Asp.Net Uygulamalarında Response.Redirect Kullanarak Web Sayfasını Yeni Sekmede Açma
Stripe Kullanarak Kredi Kartı ile Ödeme İşlemi Yapan Asp.Net Uygulaması
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Oluşturulan DLL Dosyasını Web Sayfasına Ekleyip Kullanma
Öğrenci Bilgilerini Post Metoduyla Alan Core Mvc Uygulaması
Klavyeden Girilen İki Sayıyı Toplayan Programı Visual Studio 2022 Programında Web Sayfası Olarak Kodlayınız
Ajax Modal Popup Extender Kullanarak GridView Satırını Düzenleme ve Yeni Kayıt Ekleme
Derslere Ait Başarı Durumunu Model Tasarlayarak Listeleyen Core Mvc Uygulaması
Sanal Data Kullanarak Oluşturulan Personel Bilgilerini SqLite Veri Tabanına Dönüştüren Web Uygulaması4
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosuna Kayıt Girişi Yapma
Asp.Net Uygulamalarında Modal PopUp Oluşturma
ASP.NET ve ASP.NET Core Arasındaki Farklar
Yayınlanan Web Service Hizmetini Asp.Net Web Sayfasında Kullanma
Web Uygulamalarında SqLite Veritabanında Uyeler Tablosunu Oluşturma
Visual Studio 2022 Programında Asp.Net Core Web Projesi Oluşturma