Altbilgi içeriğine atla
IRONXL KULLANARAK

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

Bugün, Excel dosyasını CSV formatına dönüştürmek için Blazor ve IronXL'nin nasıl kullanılacağını inceleyeceğiz. Bu öğretimin sonunda, Excel verilerini CSV dahil çeşitli formatlarda dışa aktaran temel bir Blazor uygulaması oluşturabileceksiniz.

IronXL'ye Giriş

IronXL, .NET Excel kütüphanesi olup, XLS, XLSX, XLSM, XLTX ve CSV dahil olmak üzere geniş bir format yelpazesiyle Excel dosyalarıyla çalışma için tasarlanmıştır. Geliştiricilerin Microsoft Office veya Excel Interop ihtiyaçı olmadan programlı olarak Excel verilerini okumasını, yazmasını ve işlemesini sağlar.

IronXL ile Excel çalışma kitapları oluşturabilir, yükleyebilir ve kaydedebilir, ayrıca tek tek hücrelere veya aralıklara veri okuyup yazabilirsiniz. Ayrıca, biçimlendirme, formüller, grafikler ve pivot tablolar gibi gelişmiş özellikleri de destekler. IronXL, çeşitli .NET Çerçeveleri ile uyumludur ve popüler dillerle birlikte C# ve VB.NET olarak kullanılabilir.

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

Blazor Projenizi Ayarlama

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 App" şablonunu seçin. Projenize ad verin ve "Oluştur"a tıklayın.

Projeniz oluşturulduğunda, Pages klasörünü açın ve Index.razor dosyasını bulun. Bu, Blazor bileşenlerinin dosya yüklemeleri ve dönüşümleri ele alacak şekilde eklendiği ve kodlandığı yerdir.

IronXL Kurulumu

Kod yazmaya başlamadan önce, IronXL kütüphanesinin kurulması gereklidir. Visual Studio'da Package Manager Console'u 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 başlamaya hazırsınız!

Dosya Yükleme Bileşeni Oluşturma

Öncelikle, kullanıcıların mevcut bir Excel dosyasını yüklemelerine olanak tanıyan temel bir dosya yükleme bileşeni oluşturun. Ardından, InputFile bileşeni Microsoft.AspNetCore.Components.Forms ad alanından eklenir. Aşağıdaki kodu "@page """ satırının altında Index.razor dosyanıza 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 dönüşümünün durumunu görüntülemek için bir düğme ve bir mesaj alanı ile tamamlanmış dosya yükleme bileşenini ayarlar. accept özniteliği InputFile bileşeni üzerinde kabul edilen dosya formatlarını belirtir.

Dosya Dönüşüm Kodunu Yazma

Şimdi, dosya yükleme ve dönüşüm sürecini yöneten kodu yazalım. Bu görevi başarmak için IronXL, Blazor ve C#'ın birleşimi kullanılacak. IronXL'yi bir CSV'yi Excel dosyasına dönüştürmek için kullanabilirsiniz.

Aşağıdaki kodu daha önce eklediğiniz div öğesinin 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, bir Excel elektronik tablosu InputFile bileşeni kullanılarak yüklendiğinde tetiklenecek olan OnInputFileChange adlı özel bir yöntem 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 bir CSV dosyası olarak kaydeder. Dönüştürmenin durumu sayfadaki mesaj alanında gösterilir.

Kod Analizi

Öncelikle, tam koda bir göz atalım:

@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 inceleyelim:

  1. Bir dosya yüklendiğinde, OnInputFileChange yöntemi tetiklenir ve ona bir InputFileChangeEventArgs nesnesi iletilir. Bu nesne, yüklenen dosya hakkında, adı ve boyutu gibi, bilgi 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 düzgün bir şekilde serbest bırakılmasını sağlar.
  4. Yüklenen dosyanın içeriğini bellek akışına eşzamanlı olarak kopyalamak için await anahtar kelimesini kullanın. Bu, dosya okunurken uygulamanın duyarlı kalmasını sağlar.
  5. Sonraki adımda, bellek akışının içeriğini bir WorkBook nesnesine yüklemek için WorkBook.Load yöntemi kullanılır. Bu nesne, sayfaları, hücreleri ve verileri dahil olmak üzere tüm Excel çalışma kitabını temsil eder.
  6. Ardından, dönüştürülmüş CSV dosyası için bir çıkış dosyası adı belirtin. Bu durumda, "sample.csv" adını kullanıyoruz.
  7. Ardından, belirlenen çıkış dosya adı ile çalışma kitabını bir CSV dosyası olarak kaydetmek için WorkBook nesnesinin SaveAsCsv yöntemi kullanılır.
  8. Dönüştürme başarılı olursa, tamamlandığını belirten bir mesaj gösterilir. Bir hata oluşursa, istisnayı yakalayın ve bir hata mesajı gösterin.

Uygulamayı Test Etme

Blazor uygulamanız tamamlandığında, şimdi test etme zamanı! Uygulamanızı Visual Studio'da çalıştırmak için F5 tuşuna 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üğmeyi tıklayın ve yüklemek için bir Excel dosyası seçin. Kabul edilen dosya formatları, InputFile bileşeninin accept özniteliğinde listelenmiştir.

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ı okuyacak, IronXL kullanarak CSV formatına dönüştürecek ve dönüştürülmüş dosyayı belirtilen çıkış dosya adıyla kaydedecektir. Dönüştürmenin 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üştürme durumu Dönüştürme durumu

Tebrikler! IronXL kullanarak Excel dosyalarını CSV formatına dönüştürebilen bir Blazor uygulaması başarıyla oluşturdunuz. Aşağıdaki ekran görüntüsü yukarıdaki programın çıktısını göstermektedir.

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

Sonuç

Bu öğretici, Excel dosyalarını IronXL kullanarak CSV formatına dönüştürebilen bir Blazor uygulaması oluşturmayı gösterdi. Bir dosya yükleme bileşeni oluşturmayı, dosya yüklemelerini yönetmeyi ve IronXL'nin güçlü özelliklerini kullanarak Excel dosyalarını CSV formatına dönüştürmeyi gösterdik.

Blazor uygulamalarınıza IronXL'yi dahil ederek, veri alma, manipülasyon ve dışa aktarma gibi çeşitli Excel ile ilgili görevleri kolayca yönetebilirsiniz. Bu, projeleriniz için geniş olanaklar sağlar ve kullanıcılarınıza daha zengin bir deneyim sunmanıza yardımcı olur. IronXL kütüphanesini kullanarak Blazor'da CSV'yi Excel'e dönüştürebilirsiniz.

IronXL, özelliklerini ve yeteneklerini satın almadan önce test etmenizi sağlayan ücretsiz bir deneme sunar. Deneme süresi sona erdikten sonra, IronXL lisansları $799 ile başlayacak.

Sıkça Sorulan Sorular

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

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

IronXL'i Blazor uygulamalarinda kullanmanın amacı nedir?

IronXL, Blazor uygulamalarında Microsoft Office veya Excel Interop'a ihtiyaç duymadan Excel verilerini işlemek için kullanılır. Geliştiricilerin Excel verilerini okumalarina, manipüle etmelerine ve programlama ile dışa aktarmalarina olanak tanir, veri içe aktarma, biçimlendirme ve Excel dosyalarini CSV gibi formatlara dönüştürme gibi özellikleri etkinleştirir.

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

Evet, Visual Studio'da Blazor uygulamanızı çalıştırarak test edebilirsiniz. Excel dosyasını 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üştürme durumuyla ilgili geribildirim sağlayacaktır.

Excel Interop üzerindeki IronXL kullanmanın faydaları nelerdir?

IronXL kullanmak, Microsoft Office kurulumu gerektirmeden Excel dosyalarını manipüle edebilme, birden çok Excel formatı desteği (XLS, XLSX, CSV) ve .NET uygulamaları ile uyumluluk gibi çeşitli avantajlar sağlar, performansı geliştirir ve dağıtımı kolaylaştırır.

Blazor projemde IronXL'i nasıl kurabilirim?

Blazor projenizde IronXL'i kurmak için Visual Studio'da Paket Yöneticisi Konsolu'nu açın ve şu komutu çalıştırın: Install-Package IronXl.Excel. Bu, kütüphaneyi kuracak ve programlayarak Excel dosyaları ile çalışmaya başlamanızı sağlayacaktır.

Blazor'da IronXL tarafından desteklenen Excel dosya formatları nelerdir?

IronXL, Blazor'da dönüştürme için çeşitli Excel dosya formatlarını destekler; .xls, .xlsx, .xlsm, .xltx ve .csv dahil olmak üzere uygulamalarınızdaki Excel verilerini esnek bir şekilde işlemenizi sağlar.

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

Blazor uygulamasında dosya yükleme bileşeni oluşturmak için Microsoft.AspNetCore.Components.Forms alan adı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 görevler için işlenebilir.

IronXL için bir ücretsiz deneme mevcut mu?

Evet, IronXL, satın alma kararı öncesinde özelliklerini ve kabiliyetlerini keşfetmenizi sağlayan ücretsiz bir deneme sunar. Deneme süresinin ardından, projenizin ihtiyaçlarına uygun çeşitli lisans seçeneklerinden birini seçebilirsiniz.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

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