Altbilgi içeriğine atla
IRONXL KULLANARAK

Blazor'da CSV'ye Nasıl Dışa Aktarılır

Bugün, bir Excel dosyasını CSV formatına dönüştürmek için Blazor ve IronXL nasıl kullanılacağınız üzerine derinlemesine indiriyoruz. Bu eğitimin sonunda, Excel verilerini CSV dahil çeşitli formatlarda ihraç eden temel bir Blazor uygulaması oluşturabileceksiniz.

IronXL'e Giriş

IronXL, XLS, XLSX, XLSM, XLTX ve CSV dahil çeşitli formatlarda Excel dosyalarıyla çalışmak üzere tasarlanmış güçlü bir .NET Excel kütüphanesidir. Microsoft Office veya Excel Interop'a ihtiyaç duymadan programatik olarak Excel verilerini okuyabilir, yazabilir ve işlemenizi sağlar.

IronXL ile, Excel defterlerini oluşturabilir, yükleyebilir ve kaydedebilirsiniz ve tek tek hücrelere veya aralıklara veri okuyup yazabilirsiniz. Biçimlendirme, formüller, grafikler ve pivot tablolar gibi gelişmiş özellikleri de destekler. IronXL, çeşitli .NET Framework'leriyle uyumludur ve C# ve VB.NET gibi popüler dillerle kullanılabilir.

Excel Dosyasını CSV'ye Dönüştürme Adımları

Blazor Projenizi Kurma

Başlamak için yeni bir Blazor Server projesi oluşturmanız gerekecek. Visual Studio'yu açın, yeni bir proje oluşturun ve "Blazor Server Uygulaması" şablonunu seçin. Projenizi adlandırın ve "Oluştur"a tıklayın.

Projeniz oluşturulduktan sonra, Sayfalar klasörünü açın ve Index.razor dosyasını bulun. Bu, Blazor bileşenlerinin dosya yüklemeleri ve dönüşümleri yönetmek için eklendiği ve kodlandığı yerdir.

IronXL'i Kurma

Kod yazmaya başlamadan önce IronXL kütüphanesinin kurulması gerekir. Visual Studio'daki Paket Yöneticisi Konsolu nu açın ve aşağıdaki komutu çalıştırın:

Install-Package IronXL.Excel

Bu komut, Blazor projenizde IronXL kütüphanesini kuracaktır. Artık kod yazmaya hazırsınız!

Dosya Yükleme Bileşeni Oluşturma

Öncelikle, kullanıcıların mevcut bir Excel dosyasını yüklemesine izin veren temel bir dosya yükleme bileşeni oluşturun. Ardından, InputFile bileşeni Microsoft.AspNetCore.Components.Forms ad alanından eklenir. Index.razor dosyanıza, "@page """ satırının altına aşağıdaki kodu ekleyin:

@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>

Bu kod, dosya yükleme bileşenini, butonu ve dosya dönüştürme durumunu göstermek için bir mesaj alanı ile kurar. InputFile bileşenindeki accept niteliği kabul edilen dosya formatlarını belirtir.

Dosya Dönüştürme Kodunu Yazma

Şimdi, dosya yüklemeyi ve dönüştürmeyi yöneten kodu yazalım. Bunu gerçekleştirmek için IronXL, Blazor ve C# kombinasyonu kullanılacaktır. Bir CSV dosyasını Excel dosyasına IronXL kullanarak dönüştürebilirsiniz.

Aşağıdaki kodu daha önce eklediğiniz div ögesinin altına Index.razor dosyanıza ekleyin.

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}

Bu kod, InputFile bileşeni kullanılarak bir Excel elektronik tablosu yüklendiğinde tetiklenecek olan OnInputFileChange adlı özel bir yöntemi tanımlar; Excel, XLS veya XLSX formatında olabilir. Kod, yüklenen temel Excel dosyasını okur, bir WorkBook nesnesine yükler ve ardından WorkBook dosyasını bir CSV dosyası olarak kaydeder. Dönüşüm durumu sayfadaki mesaj alanında gösterilir.

Kod Çözümlemesi

Öncelikle, tam kodu inceleyin:

@page "/"
@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<style>
    body{
        background-color: skyblue
    }
    .container {
        max-width: 800px;
        margin: 0 auto;
        font-family: Arial, sans-serif;
    }

    h3 {
        margin-top: 30px;
        font-size: 30px;
        margin-bottom: 30px;
    }

    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 15px 0;
        cursor: pointer;
    }
    span {
        font-size: 20px;
    }
</style>

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}

Kodu daha da açıklayalım:

  1. Bir dosya yüklendiğinde, OnInputFileChange yöntemi tetiklenir ve bu yönteme bir InputFileChangeEventArgs nesnesi iletilir. Bu nesne, yüklenen dosya hakkında, adı ve boyutu gibi bilgiler içerir.
  2. Orijinal dosya adını, sayfada göstermek için originalFileName adlı bir değişkende saklayın.
  3. Bir try-catch bloğu içinde, yüklenen dosyanın içeriğini okumak için yeni bir MemoryStream nesnesi oluşturun. Using ifadesi, bellek akışının artık ihtiyaç duyulmadığında doğru şekilde bertaraf edilmesini sağlar.
  4. Yüklenen dosyanın içeriğini hafıza akışına eş zamanlı kopyalamak için await anahtar kelimesini kullanın. Bu, dosya okunurken uygulamanın duyarlı kalmasını sağlar.
  5. Sonraki adımda, hafıza akışının içeriğini bir WorkBook nesnesine yüklemek için WorkBook.Load yöntemini kullanın. Bu nesne, elektronik tablonun tüm sayfalarını, hücrelerini ve verilerini temsil eder.
  6. Dönüştürülen CSV dosyası için bir çıkış dosya adı belirtin. Bu durumda, "sample.csv" adını kullanıyoruz.
  7. Ardından, WorkBook nesnesinin SaveAsCsv yöntemi kullanılarak çalışma kitabı belirtilen çıktı dosya adıyla bir CSV dosyası olarak kaydedilir.
  8. Dönüşüm başarılı olursa, dönüşümün tamamlandığını belirtmek için bir mesaj görüntülenir. Bir hata oluşursa, istisnayı yakalayın ve bir hata mesajı gösterin.

Uygulamayı Test Etme

Blazor uygulamanız tamamlandıktan sonra, onu test etme zamanı! Visual Studio'da uygulamanızı çalıştırmak için F5'e basın. Uygulama çalıştığında, sayfada bir dosya yükleme düğmesi görmelisiniz.

Blazor'da CSV'ye Dışa Aktarma Nasıl Yapılır, Şekil 1: Blazor uygulamasını çalıştırın Blazor uygulamasını çalıştırın

Düğmeye tıklayın ve yüklemek için bir Excel dosyası seçin. Kabul edilen dosya formatları, InputFile bileşeninin kabul niteliğinde listelenir.

Blazor'da CSV'ye Dışa Aktarma Nasıl Yapılır, Şekil 2: Bir Excel dosyası seçin Bir Excel dosyası seçin

Bir dosya seçtikten sonra, uygulama dosyayı okur, IronXL kullanarak CSV formatına dönüştürür ve belirtilen çıkış dosya adı ile dönüştürülen dosyayı kaydeder. Dönüşümün durumunu ve orijinal dosya adını belirten bir mesaj görmelisiniz.

Blazor'da CSV'ye Dışa Aktarma Nasıl Yapılır, Şekil 3: Dönüşüm durumu Dönüşüm durumu

Tebrikler! IronXL kullanarak Blazor'da Excel dosyalarını CSV formatına ihraç edebilecek bir uygulama başarıyla oluşturduk. Yukarıdaki programın çıktısını gösteren ekran görüntüsü aşağıdadır.

Blazor'da CSV'ye Dışa Aktarma Nasıl Yapılır, Şekil 4: Çıktı Excel dosyası Çıkış Excel Dosyası

Sonuç

Bu eğitim, IronXL kullanarak Blazor uygulaması ile Excel dosyalarını CSV formatına nasıl ihraç edileceğini gösterdi. Dosya yükleme bileşeni oluşturmayı, dosya yüklemelerini yönetmeyi ve IronXL'in güçlü özelliklerini kullanarak Excel dosyalarını CSV formatına dönüştürmeyi gösterdik.

IronXL'ı Blazor uygulamalarınıza entegre ederek, veri ithalatı, işleme ve ihracatı gibi çok çeşitli Excel ile ilgili görevleri kolayca yönetebilirsiniz. Bu, projeleriniz için geniş bir olanak aralığı açar ve kullanıcılarınız için daha zengin bir deneyim sunmanıza yardımcı olur. IronXL kütüphanesini kullanarak CSV'yi Blazor'da Excel'e dönüştürebilirsiniz.

IronXL, taahhüt etmeden önce özelliklerini ve yeteneklerini test etmenizi sağlayan ücretsiz bir deneme sunar. Deneme süresi bittikten sonra, IronXL lisansları $999 fiyatıyla başlar.

Sıkça Sorulan Sorular

Excel dosyasını bir Blazor uygulamasında CSV formatına nasıl dönüştürebilirim?

Bir Excel dosyasını Blazor uygulamasında CSV formatına dönüştürmek için IronXL kullanabilirsiniz. Öncelikle, bir Blazor Sunucu projesi kurun, Paket Yöneticisi Konsolu aracılığıyla IronXL'yi yükleyin ve `InputFile` bileşeni ile bir dosya yükleme bileşeni oluşturun. Ardından Excel dosyasını bir bellek akışına yükleyin, IronXL kullanarak bir WorkBook nesnesine yükleyin ve dosyayı CSV olarak dışa aktarmak için SaveAsCsv yöntemini kullanın.

Blazor uygulamalarında IronXL kullanmanın amacı nedir?

IronXL, Blazor uygulamalarında Microsoft Office veya Excel Interop gerektirmeden Excel verilerini işlemek için kullanılır. Bu, geliştiricilerin verileri programatik olarak okumasına, manipüle etmesine ve dışa aktarmasına imkan tanır ve veri ithalatı, biçimlendirme ve Excel dosyalarını CSV gibi formatlara dönüştürme gibi özellikler sağlar.

Excel dosyalarını CSV'ye dönüştürmek için Blazor uygulamamı test edebilir miyim?

Evet, Visual Studio'da uygulamanızı çalıştırarak Blazor uygulamanızı test edebilirsiniz. Excel dosyası seçmek için dosya yükleme bileşenini kullanın. Uygulama, seçilen dosyayı IronXL kullanarak CSV'ye dönüştürecek ve dönüşüm durumuyla ilgili geri bildirim sağlayacaktır.

Excel Interop yerine IronXL kullanmanın avantajları nelerdir?

Excel Interop yerine IronXL kullanmanın, Microsoft Office'in kurulu olmasına gerek duymadan Excel dosyalarını manipüle edebilmek, birden fazla Excel formatını (XLS, XLSX, CSV) desteklemek ve .NET uygulamalarıyla uyumlu olmak gibi avantajları vardır, bu da performansı artırır ve dağıtımı kolaylaştırır.

Blazor projemde IronXL nasıl kurarım?

Blazor projenizde IronXL kurmak için Visual Studio'daki Paket Yöneticisi Konsolunu açın ve şu komutu çalıştırın: Install-Package IronXL.Excel. Bu kütüphaneyi kurar ve Excel dosyalarıyla programatik olarak çalışmanıza olanak tanır.

IronXL, Blazor'da hangi Excel dosya formatlarını dönüştürme için destekler?

IronXL, Blazor'da çeşitli Excel dosya formatlarını dönüştürme için destekler: .xls, .xlsx, .xlsm, .xltx ve .csv. Bu, uygulamalarınızda Excel verilerini esnek bir şekilde ele alabilmenizi sağlar.

Blazor uygulamasında bir dosya yükleme bileşeni nasıl oluşturabilirim?

Blazor uygulamasında bir dosya yükleme bileşeni oluşturmak için Microsoft.AspNetCore.Components.Forms ad alanından `InputFile` bileşenini kullanın. Bu bileşen, kullanıcıların dosya yüklemesini sağlar ve ardından IronXL kullanarak Excel'den CSV'ye dönüştürme gibi işlemler için kullanılabilir.

IronXL için ücretsiz bir deneme var mı?

Evet, IronXL, özelliklerini ve yeteneklerini keşfetmenizi sağlayan bir ücretsiz deneme sunar. Deneme süresi bittikten sonra projenizin ihtiyaçlarına göre çeşitli lisanslama seçeneklerinden birini seçebilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara