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:
- Bir dosya yüklendiğinde,
OnInputFileChangeyöntemi tetiklenir ve bu yönteme birInputFileChangeEventArgsnesnesi iletilir. Bu nesne, yüklenen dosya hakkında, adı ve boyutu gibi bilgiler içerir. - Orijinal dosya adını, sayfada göstermek için
originalFileNameadlı bir değişkende saklayın. - Bir try-catch bloğu içinde, yüklenen dosyanın içeriğini okumak için yeni bir
MemoryStreamnesnesi oluşturun. Using ifadesi, bellek akışının artık ihtiyaç duyulmadığında doğru şekilde bertaraf edilmesini sağlar. - Yüklenen dosyanın içeriğini hafıza akışına eş zamanlı kopyalamak için
awaitanahtar kelimesini kullanın. Bu, dosya okunurken uygulamanın duyarlı kalmasını sağlar. - Sonraki adımda, hafıza akışının içeriğini bir
WorkBooknesnesine yüklemek içinWorkBook.Loadyöntemini kullanın. Bu nesne, elektronik tablonun tüm sayfalarını, hücrelerini ve verilerini temsil eder. - Dönüştürülen CSV dosyası için bir çıkış dosya adı belirtin. Bu durumda, "sample.csv" adını kullanıyoruz.
- Ardından,
WorkBooknesnesininSaveAsCsvyöntemi kullanılarak çalışma kitabı belirtilen çıktı dosya adıyla bir CSV dosyası olarak kaydedilir. - 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 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.
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.
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.
Çı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.




