C# CSV Ayrıştırıcı (Adım Adım) Eğitimi
IronXL, C# ile CSV dosyalarını Excel formatlarına kolaylıkla parse etme ve dönüştürme olanağı sağlar. Bu eğitim, IronXL kütüphanesinin basit API'sini kullanarak XLSX, XLS ve TSV dosyalarını CSV formatına nasıl dönüştüreceğinizi göstermektedir, karmaşık manuel çözümleme koduna ihtiyaç duymadan. Kütüphane, dosya formatı dönüştürme işleminin tüm karmaşık detaylarını dahili olarak yönetir, hızlı ve güvenilir CSV ayrıştırmaya ihtiyaç duyan geliştiriciler için mükemmel hale getirir.
CSV dosyalarını çözmeye ve önemli bir görev için .NET'te XLSX'e dönüştürmeye çalışırken hiç sıkıştınız mı, ancak çok fazla kod yazmadan nasıl yapacağınızı anlamadınız mı?
Bu sorun için birçok CSV kütüphanesi mevcuttur. Ancak, bu eğitim esnasında bu görevleri yalnızca iki satır kodla gerçekleştirmek için IronXL C# Excel Kütüphanesi kullanılacaktır. Ayırıcıların manuel bir şekilde çözümlenmesi ve uç durumlarla başa çıkılması gereken geleneksel yaklaşımların aksine, Windows, Linux ve macOS dahil olmak üzere farklı platformlarda çalışan sağlam, test edilmiş bir çözüm sunar.
Başlamak için ihtiyacınız olan tek şey Visual Studio. Detaylı kurulum adımları için aşağıdaki talimatları takip edin. Bu eğitim, Interop bağımlılıkları olmadan Excel dosyalarıyla çalışmak isteyen temel C# bilgisine sahip geliştiriciler için tasarlanmıştır.
Visual Studio'da Nasıl Yeni Proje Oluştururum?
Visual Studio editörünü açın.
Visual Studio'daki Dosya menüsüne gidin. "Yeni Proje" seçeneğini seçin, ardından Konsol Uygulaması seçin. Bu, Excel dosyalarını oluşturmayı ve manipüle etmeyi öğrenmek için mükemmel olan basit bir proje yapısı oluşturur.
Proje adını yazın ve proje konumunu seçin. Ardından projeyi oluşturmak için Oluştur butonuna tıklayın. Gerekli .NET Framework'ü seçin, aşağıdaki ekran görüntüsü gibi:
Şekil 1: Visual Studio'da C# Console Uygulama projesini .NET Framework 4.7.2 ile yapılandırın
program.cs dosyası açılacak, böylece mantığı girebilir ve uygulamayı oluşturup çalıştırabilirsiniz. Bu, IronXL'in basit API'sini kullanarak CSV ayıklama kodumuzu ekleyeceğimiz yerdir.
IronXL C# Kütüphanesini Nasıl Yüklerim?
IronXL kütüphanesi birçok farklı şekilde indirilebilir ve kurulabilir. Bugün profesyonel geliştirme ortamlarında en yaygın kullanılan iki metoda odaklanacağız:
- Visual Studio NuGet Paket Yöneticisini Kullanarak
- Visual Studio Komut Satırı Kullanarak
Her iki metod da eşit derecede etkilidir ve tercih ettiğiniz, grafiksel bir arayüz mü yoksa komut satırı araçları mı kullandığınıza bağlıdır. Farklı ortamlar için detaylı kurulum rehberliği için resmi dokümanlara bakın.
Visual Studio NuGet Paket Yöneticisini Kullanmalı mıyım?
NuGet Paket Yöneticisi UI, paketi doğrudan projeye yüklemek için Visual Studio'da bulunmaktadır. Bu yöntem, görsel arayüzleri tercih eden ve kurulumdan önce paket ayrıntılarını görmek isteyen geliştiriciler için özellikle kullanışlıdır. Aşağıdaki ekran görüntüsü, bunu nasıl açacağınızı gösteriyor.
Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution
Paket Yöneticisi UI, NuGet web sitesindeki mevcut paket kütüphanelerini gösteren bir Göz Atma özelliği sağlar. Aşağıdaki ekran görüntüsünde gösterildiği gibi "IronXL" veriniz ve IronXL paketini bulun. IronXL'nin sunduğu ilgili Excel manipülasyon özelliklerini de keşfedebilirsiniz.
NuGet Paket Yöneticisi, geliştiricilerin .NET uygulamalarında Excel dosyalarını okumalarına, oluşturmalarına ve düzenlemelerine olanak tanıyan IronXL.Excel kütüphanesini gösteriyor. Paket 250K indirmeyle ve yükleme için hazır 2022.9.9454 sürümüyle gösterilmektedir
IronXL.Excel paketini seçin ve projeye eklemek için Yükle düğmesine tıklayın. Kurulum işlemi tüm bağımlılıkları otomatik olarak yönetir ve projenizi Excel dosya manipülasyonu için yapılandırır.
Ne Zaman Visual Studio Komut Satırı Kullanmalıyım?
Visual Studio menüsünde, Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi Konsolu üzerine tıklayın. Bu yöntem, komut satırı arayüzleriyle rahat olan veya yapı kodlarında kurulum sürecini otomatikleştirmesi gereken geliştiriciler tarafından tercih edilir.
Visual Studio'da CSV ayrıştırma kütüphanelerini yüklemek için NuGet Paket Yöneticisi Konsolu'nu açmak
Paket Yöneticisi Konsolu ekranın altında görünecektir. Aşağıdaki komutu yazın ve enter tuşuna basın. IronXL yüklenecektir. Bu yöntem, belirli sürümleri yüklemeniz gerektiğinde veya Azure dağıtım betikleri veya AWS ortamlarıyla çalışırken özellikle faydalıdır.
Install-Package IronXL.Excel
Paket Yöneticisi Konsolu, NuGet deposundan başarılı indirmeler ve paket geri yükleme sürecini gösteren IronXL.Excel sürüm 2022.11.10251'nin başarılı kurulumu gösteriyor
CSV Dosyalarını IronXL ile Nasıl Ayrıştırırım?
CSV'leri elle ayrıştırmak işi yapmak için çok sayıda hassas kod yazmayı gerektirir ancak IronXL ile sadece birkaç satır kod yeterlidir. Bu basitlik, farklı elektronik tablo formatları arasında hızlı bir şekilde dönüştürme gerektiğinde özellikle değerlidir.
Sadece geleneksel C# kodunu kullanarak CSV formatlı dosyaları ayrıştırmak çok fazla yer kaplayan kod gerektirir. Klasik bir yaklaşımla bunu başarmak için örnek bir kod:
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Module Program
Sub Main(args As String())
' Create a FileHelperEngine for the Record class
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
' Read records from the CSV file into an array
' Note: This requires proper error handling for production use
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
' Print each record's Name and Age
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next
End Sub
End Module
End Namespace
Ancak IronXL kullanarak, bu yalnızca birkaç satır kodla başarılabilir, yerleşik hata yönetimi ve çeşitli dosya formatları desteği ile.
IronXL kullanarak, XLSX, XLS, TSV ve daha fazlasından CSV dosyalarını ayrıştırabilirsiniz. Kütüphane ayrıca ASP.NET uygulamalarında ve Blazor uygulamalarında Excel dosyalarını okuma yeteneğini de destekler. Bu eğitimde, aşağıdaki dönüştürmeleri inceleyeceğiz:
- XLSX dosyasından CSV dosyası ayrıştırma
- XLS dosyasından CSV dosyası ayrıştırma
- TSV dosyasından CSV dosyası ayrıştırma
XLSX Dosyasını CSV'ye Nasıl Dönüştürebilirim?
Microsoft Excel'i açın ve yeni bir XLSX dosyası oluşturun. Satırlarını ve sütunlarını bazı örnek verilerle doldurun. Üretim senaryoları için, IronXL kullanarak programmatik olarak Excel dosyaları oluşturmak isteyebilirsiniz. Aşağıdaki görüntü, bu eğitimdeki tüm dönüşümler için kullanılan dosyayı gösteriyor.
Şekil 6: C# içinde CSV ayrıştırmayı göstermek için kullanılacak basit envanter yapısını gösteren örnek Excel verisi
Dosyanız hazır olduğunda, aşağıdaki örnek kodu yazın ve programı çalıştırın. IronXL, özel karakterlerin ve veri türlerinin uygun şekilde yönetilmesi de dahil olmak üzere tüm karmaşık ayrıştırmayı dahili olarak yönetir:
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLSX file into a WorkBook object
' The Load method automatically detects the file format
Dim wb As WorkBook = WorkBook.Load("test.xlsx")
' Save the WorkBook as a CSV file
' This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv")
' Optional: Save with custom delimiter
' wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";")
End Sub
End Class
Yürütme tamamlandıktan sonra, Parsed CSV.csv adlı yeni bir dosya oluşturulacak. CSV dosyalarını istediğiniz herhangi bir editörde veya okuyucuda okuyabilirsiniz. Ayrıca, daha fazla manipülasyon için CSV verilerini Excel'e geri aktarabilirsiniz. Aşağıdaki görüntü yukarıdaki komutun çıktısını gösterir—oluşturulan CSV verimiz. Çıktı dosyasında tırnak işaretleri kalın değerleri temsil edebilir.
Şekil 7: SaveAsCsv metodu tarafından oluşturulan CSV çıktısı, çevrilmiş Excel verilerini virgülle ayrılmış formatta gösteriyor
XLS Dosyalarını CSV'ye Dönüştürmenin Adımları Nelerdir?
Bu örnekte, XLS dosyalarını CSV formatına nasıl dönüştüreceğinizi göreceğiz. Süreç, IronXL'nin farklı Excel dosya formatlarında ne kadar çok yönlü olduğunu gösteren XLSX dönüşümü ile aynıdır.
Öncelikle, CSV formatına dönüştürebileceğimiz bir örnek XLS dosyası oluşturalım. XLS'nin eski bir Excel formatı olduğunu unutmayın, ancak IronXL, modern formatların yanı sıra bunu da sorunsuz şekilde yönetir:
Şekil 8: C# CSV kütüphaneleri kullanılarak ayrıştırılabilecek otomatik hesaplamalarla envanter veri yapısını gösteren örnek bir Excel dosyası
Ardından, örnek XLS dosyasını bir CSV dosyasına dönüştürmek için aşağıdaki kod bloğunu çalıştıracağız. IronXL, dönüşüm sırasında veri bütünlüğünü korur, formüller ve hesaplamalar dahil.
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLS file into a WorkBook object
' IronXL automatically handles the older XLS format
Dim wb As WorkBook = WorkBook.Load("XLS.xls")
' Save the WorkBook as a CSV file
' All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv")
' Optional: Export specific worksheet
' Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' ws.SaveAsCsv("Example2.csv")
End Sub
End Class
Yukarıdaki kodun çalıştırılmasının ardından, yeni oluşturulmuş bir CSV dosyanız olacak. Daha karmaşık senaryolar için, belirli aralıkları seçmek veya ihracattan önce verileri sıralamak isteyebilirsiniz.
WordPad içinde açılmış örnek CSV dosyası, başlıklarla düzgün formatlanmış virgülle ayrılmış verileri ve çoklu ürün girdilerini göstermektedir
TSV Formatından CSV Dosyalarını Nasıl Ayrıştırabilirim?
Elektronik tablo uygulamaları, veri tabanları arasında veri aktarmak için sıklıkla TSV dosyaları veya Tab-Separated Values dosyalarını kullanır. Bu, verileri noktalarla ayırarak ve her kaydı ayrı bir satırda bulunan bir veri tablosu olarak kaydeder. TSV dosyaları, verilerinizin CSV ayıklamasını engelleyebilecek virgüller içerdiğinde özellikle yararlıdır.
IronXL, daha iyi veri yönetimi için CSV dosyalarını TSV formatından ayrıştırmak için bir CSV ayıklayıcı sunar. Dönüşüm süreci basittir ve veri bütünlüğünü süreç boyunca korur.
Örneğe başlamamıza izin ver. Öncelikle, öğrenci verileri içeren bir TSV dosyası oluşturacağız:
Sekmelerle ayrılmış öğrenci verisinin Microsoft Word'de gösterilen örneği, Ad, E-posta, R-NO ve Not sütunlarını içeren bir TSV dosyasının yapısını gösteriyor
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the TSV file into a WorkBook object
' IronXL automatically detects tab-separated format
Dim wb As WorkBook = WorkBook.Load("TSV.tsv")
' Save the WorkBook as a CSV file
' Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv")
' Alternative: Load with explicit delimiter specification
' Dim wb As WorkBook = WorkBook.LoadCSV("TSV.tsv", delimiter:=vbTab)
End Sub
End Class
Aşağıda CSV formatındaki çıktıdır. IronXL'in sekmelerle ayrılmış değerleri, veri yapısını koruyarak nasıl virgüllerle ayrılmış değerlere doğru dönüştürdüğünü gözlemleyin:
WordPad içinde açılmış örnek CSV dosyası, ad, e-posta, sicil numarası ve virgüllerle ayrılmış not gibi alanlarla öğrenci kayıtlarını gösteriyor
IronXL Kullanarak CSV Ayrıklamasının Temel Avantajları Nelerdir?
Bu eğitim, IronXL kullanarak çeşitli dosya formatlarını C# içinde CSV'ye ayrıştırmayı gösteriyor. Kütüphane, tüm dosya formatları boyunca tutarlı bir API sağlar, böylece kod yapınızı değiştirmeden farklı Excel sürümleri ve formatları ile çalışmayı kolaylaştırır.
Ayrıca, IronXL kütüphanesi onun Excel manipülasyonunu mükemmel bir seçim haline getiren aşağıdaki özellikleri sağlar:
- JSON, XML ve HTML gibi diğer formatlara veri manipülasyonu ve veri ihracı dahil geniş bir fonksiyon seti.
- Excel ile tamamen uyumlu grafik yönetimi desteği, programatik grafik oluşturma ve değişiklik yapma imkanı sunar.
- Metin hizalaması, yazı tipi boyutu, rengi, kenarlıklar ve arka plan desenleri gibi hücre formatlamasını destekler.
- Dondurulmuş paneller ekleme, formül ekleme, koşullu biçimlendirme ve hücreleri birleştirme gibi Excel yöntemlerini özelleştirme yeteneği.
- Hem çalışma kitapları hem de bireysel çalışma sayfaları için Excel şifrelemeyle uyumlu olma.
- Daha iyi veri organizasyonu için adlandırılmış aralıklar ve adlandırılmış tablolar desteği.
- Satır ve sütunları otomatik boyutlandırma, bağlantılar ve yorumlar gibi gelişmiş özellikler.
IronXL ayrıca performans optimizasyonunda da başarılıdır. Son performans iyileştirmelerine göre, kütüphane şimdi dosyaları 40 kat daha hızlı işler ve önemli ölçüde daha az bellek kullanır, bu da büyük ölçekli veri işleme görevleri için uygundur. Kütüphane, gerçek çapraz platform uyumluluğu sağlayarak Docker konteynerlerinde, Linux sistemlerinde ve macOS ortamlarında sorunsuz çalışır.
Kurumsal ortamlar için IronXL, güçlü güvenlik özellikleri sunar ve endüstri standartlarına uygundur. Kütüphane, farklı geliştirme ekipleri için her türlü VB.NET ile uyumlu olduğu gibi C#'ı da destekler, bu nedenle çok yönlülük sağlar. Büyük dosyalarla çalışırken, dosya boyut limitlerine ve mevcut optimizasyon stratejilerine dikkat edin.
IronXL'nin özellikler, Kod Örnekleri ve dokümantasyonunu kontrol ederek IronXL'nin nasıl çalıştığı hakkında daha fazla bilgi edinebilirsiniz. Özel kullanım durumlarını olduğu gibi keşfedebilirsiniz, mobil geliştirme için .NET MAUI ile çalışırken veya veritabanı operasyonları için DataTables ile entegrasyon gibi. IronXL'yi İndirin ve deneme lisansı ile 30 gün boyunca ücretsiz deneyin. Üretim kullanımı için, web uygulamalarınızda bir lisans anahtarı uygulamanız ve bu anahtarı web.config dosyasında yapılandırmanız gerekecektir. Lisans koşulları ve şartları hakkında daha fazla bilgi için Lisanslama Sayfası'nı ziyaret edin, lisans uzantıları ve yükseltmeler dahil.
Tüm beş Iron Software kütüphanesi için lisansları iki IronXL kütüphane lisansı fiyatına almak için tam Iron Suite'i satın alın!
Okuduğunuz için teşekkürler!
Sıkça Sorulan Sorular
C# içinde Interop kullanmadan CSV dosyalarını nasıl ayrıştırabilirim?
IronXL, Interop'u kullanmadan C# içinde CSV dosyalarını ayrıştırmanıza olanak tanır. Bir CSV dosyasını bir WorkBook nesnesine yükleyebilir ve doğrudan manipüle edebilir, sadece birkaç satır kodla diğer formatlara (XLSX veya XLS gibi) dönüştürebilirsiniz.
IronXL kütüphanesini Visual Studio'ya yüklemek için hangi adımlar gereklidir?
IronXL kütüphanesini Visual Studio'ya yüklemek için, NuGet Paket Yöneticisi UI'yi açın, 'IronXL' aratın ve yükleyin. Alternatif olarak, Visual Studio Komut Satırı'nı kullanabilir ve Paket Yöneticisi Konsolunda Install-Package IronXL.Excel komutunu çalıştırabilirsiniz.
C#'ta CSV dosyalarını Excel formatlarına nasıl dönüştürebilirim?
IronXL'yi kullanarak, bir CSV dosyasını bir WorkBook nesnesine yükleyip, SaveAsXlsx gibi yöntemleri kullanarak istenen formatta kaydederek, CSV dosyalarını XLSX ya da XLS gibi Excel formatlarına dönüştürebilirsiniz.
TSV dosyalarını ayrıştırmak ve bunları CSV'ye dönüştürmek C#'ta mümkün mü?
Evet, IronXL, TSV dosyalarının ayrıştırılmasını sağlar. Bir TSV dosyasını bir WorkBook nesnesine yükleyin ve SaveAsCsv metodunu kullanarak bir CSV dosyasına dönüştürün.
Bir C# Excel kütüphanesi veri manipülasyonu için hangi özellikler sağlar?
IronXL, veri manipülasyonu, grafik yönetimi, hücre formatlama ve Excel şifreleme ile uyumluluk gibi işlevsellikler sunar. Donma panelleri, formüller ve koşullu formatlama gibi işlemleri destekler.
Excel elektronik tablo formatlarını programatik olarak C#'ta nasıl yönetebilirim?
IronXL, XLSX, XLS ve CSV gibi farklı elektronik tablo formatlarının yönetilmesini sağlar. .NET uygulamaları içinde bu formatlar arasında dönüştürme ve veri yönetimi yöntemleri sunar.
Satın almadan önce bir C# Excel kütüphanesini deneyebilir miyim?
Evet, IronXL, NuGet web sitesinden indirilebilir ücretsiz 30 günlük deneme sunar. Bu, ihtiyaçlarınızı karşıladığını garanti etmek için özelliklerini test etmenizi sağlar.
IronXL'nin CSV dosyalarını ayrıştırma ve dönüştürme konusunda sunduğu avantajlar nelerdir?
IronXL, CSV dosyalarını ayrıştırma ve dönüştürme sürecini minimal kodla basitleştirir. Verimli veri işleme sağlar ve C# uygulamalarında Excel dosya manipülasyonunu artıran kapsamlı özellikler sunar.




