IRONSOFTWAREHOME
DIĞER BILEŞENLERLE KARŞILAŞTIRIN

IronXL ile CsvHelper Arasındaki Bir Karşılaştırma

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

CSV dosyaları ile çalışmak zor bir görev olabilir. Bugün birçok kütüphane, geliştiricilerin bu görevi Microsoft Excel kurulmadan gerçekleştirmesine yardımcı olmak için mevcuttur.

Bu makalede, sürüm 4.5.3 veya daha eski (son ücretsiz sürüm) veya mevcut EPPlus ticari lisansları ile çalışma konusundaki karşılaştırmayı ve tartışmayı ele alacağız, bunlar arasında uygulamalı olarak nasıl çalışılır.

Öncelik olarak her iki kütüphanenin sunduğu olanakları inceleyelim.

IronXL Kütüphanesi

IronXL, Microsoft Excel belgelerini C# ile okuma ve düzenleme işlevini kolaylaştıran bir .NET kütüphanesidir. IronXL.Excel, çeşitli elektronik tablo formatlarını okumak için bağımsız bir .NET yazılım kütüphanesidir. Microsoft Excel kurulumu gerektirmez, ayrıca Interop'una bağımlılığı yoktur. CSV dosyaları ile son derece sorunsuz çalışır.

IronXL, .NET içinde Excel tablosu dosyalarını okuma, düzenleme ve oluşturma işlemlerini yıldırım hızında performans ile gerçekleştiren sezgisel bir C# API'sidir. IronXL, .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS ve Azure'u tamamen destekler.

IronXL, C# için öncü bir .NET core ve .NET framework Excel elektronik tablo kütüphanesidir.

IronXL Özellik Seti

  • XLS/XLSX/CSV/TSV'den veri yükleme, okuma ve düzenleme
  • Kaydetme ve dışa aktarma — XLS/XLSX/CSV/TSV/JSON'a
  • Aralıklar — kullanımı kolay WorkSheet["A1:B10"] sözdizimi. Aralıkları kolaylıkla birleştirin ve oluşturun.
  • Sıralama — aralıklar, sütunlar ve satırları sıralayın.
  • Stil — hücre görsel stilleri, yazı tipi, boyut, arka plan deseni, kenarlık, hizalama ve sayı formatları.

CsvHelper

CSV dosyalarını okumak ve yazmak için bir .NET kütüphanesi. Son derece hızlı, esnek ve kullanımı kolay. Özel sınıf nesnelerinin okunmasını ve yazılmasını destekler. Tüm örnek kodlar CsvHelper dokümantasyonunda paket dahilinde bulunmaktadır.

CsvHelper Özellikleri

  • Hızlı: son derece hızlı performans için kuvvetli sınıflar derler
  • Esnek: yazarken muhafazakâr, okurken liberal
  • Kullanımı kolay: Okuma ve yazma, GetRecords<t>() ve WriteRecords(records) kadar basittir.
  • Yüksek derecede yapılandırılabilir
  • Linux modu
  • Düşük bellek kullanımı

1. Konsol Uygulaması Oluşturun

Konsol Uygulaması oluşturmak için şu adımları kullanın:

  • Visual Studio 2022 IDE'yi başlatın.
  • "Yeni proje oluştur" üzerine tıklayın.
  • "Yeni proje oluştur" sayfasında, dil açılır listesinde C# seçin, Platformlar listesinden Windows ve Proje türleri listesinden Konsol seçin.
  • Gösterilen proje şablonlarından Console App (.NET Framework) seçin.

Proje Oluştur - Konsol Uygulaması

  • İleri tıklayın.
  • Ek Bilgi ekranında kullanmak istediğiniz Çerçeve sürümünü belirtin. Bu örnekte, .NET Framework 4.8 kullanacağız.

Proje Oluştur - .NET Framework

  • Süreci tamamlamak için Oluşturu tıklayın.

Proje şimdi oluşturuldu ve kütüphaneleri test etmeye neredeyse hazırız. Ancak, hâlâ bunları yüklememiz ve projeye entegre etmemiz gerekiyor. Önce IronXL'i yükleyelim.

2. IronXL C# Kütüphanesi Kurulumu

IronXL kütüphanesini şu yöntemlerle indirip kurabilirsiniz:

  1. NuGet paketleri ile Visual Studio'yu kullanarak
  2. NuGet Paketini doğrudan indirin
  3. DLL ile Manuel Kurulum

Her birine daha yakından bakalım.

2.1. NuGet paketleriyle Visual Studio Kullanarak

Visual Studio, projelerinizde NuGet paketlerini yüklemek için NuGet Paket Yöneticisi sağlar. Buna Proje Menüsü aracılığıyla veya Çözüm Gezgini'nde projenize sağ tıklayabilirsiniz.

Paket-Yönet-NuGet-Paketi

  • Şimdi, arama sekmesinden -> IronXL.Excel'i arayın -> Kur

IronXL'i ara

  • Tamamladık.

2.2. NuGet Paketini Doğrudan İndir

Bu, NuGet sitesine doğrudan gidip paketi indirerek yapılabilir. Adımlar şunlardır:

2.3. DLL ile Manuel Kurulum

IronXL C# Kütüphanesini indirip kurmanın bir başka yolu da, Geliştirici Komut İstemi aracılığıyla IronXL NuGet paketini kurmak için aşağıdaki adımları kullanmaktır.

  • Geliştirici Komut İstemini açın — genellikle Visual Studio klasöründe bulunur.
  • Aşağıdaki komutu yazın: PM> Install-Package IronXL.Excel
  • Enter'a basın
  • Bu, paketi indirecek ve kuracaktır
  • Visual Studio projenizi yeniden yükleyin ve kullanmaya başlayın

2.4. Gerekli Using Direktiflerini Ekleyin

  1. Çözüm Gezgini'nde Program.cs dosyasını sağ tıklayın ve ardından Kodu Görüntüle'yi tıklayın.
  2. Kodu dosyasının üstüne aşağıdaki using direktiflerini ekleyin:
using IronXL;

Hepsi tamam! IronXL indirildi, kuruldu ve kullanıma hazır. Ancak, bundan önce CsvHelper'ı kurmalıyız.

3. CsvHelper Kurulumu

3.1. NuGet Paket Yöneticisi Konsolunu Kullanarak

CsvHelper C# Kütüphanesini indirmek ve kurmak için, NuGet paketini Geliştirici Komut İsteminden yüklemek için aşağıdaki adımları kullanın.

  • Geliştirici Komut İstemini açın — genellikle Visual Studio klasöründe bulunur.
  • Aşağıdaki komutu yazın: PM> Install-Package CsvHelper -Version 27.2.1
  • Enter'a basın
  • Bu, paketi indirecek ve kuracaktır
  • Visual Studio projenizi yeniden yükleyin ve kullanmaya başlayın

3.2. Doğrudan İndirme

NuGet web sitesinden indir: https://www.nuget.org/packages/CsvHelper.

4. IronXL Kullanarak CSV Dosyaları ile Çalışma

Virgülle ayrılmış değerler (CSV) dosyası, değerleri ayırmak için virgül kullanan sınırlı bir metin dosyasıdır. Dosyanın her satırı bir veri kaydıdır. Bu dosyalarla hesaplama yapmak oldukça zor bir görev olabilir ve IronXL, bunu Microsoft Excel olmadan yapmanın çok iyi ve kolay bir seçeneğini sunar. Öncelikle bir CSV dosyasını normal bir Excel dosyasına dönüştürelim.

4.1. Bir CSV Dosyasını Excel Formatına Dönüştürme

Süreç oldukça basit ve kolaydır. Genellikle bir satır kod ile yapılır.

CSV'den Excel formatlarına:

// Load the CSV file and convert it to an Excel format
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Access the default worksheet
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");

4.2. Dönüştürülmüş CSV Dosyalarını IronXL Kullanarak Okuma ve İşleme

IronXL WorkBook sınıfı bir Excel sayfasını temsil eder. C# kullanarak bir Excel Dosyasını açmak için, WorkBook.Load kullanırız ve Excel dosyasının (.xlsx) yolunu belirtiriz. Dosyayı okumak için kullanıldığı basit bir satırlık kod aşağıdadır:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets/sample.xlsx");

Her WorkBook birden fazla WorkSheet nesnesi içerebilir. Bunlar, Excel belgesindeki çalışma sayfalarını temsil eder. Çalışma kitabı çalışma sayfaları içeriyorsa, onları şu şekilde adlarına göre alabilirsiniz:

// Open the sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");

Hücre değerlerini okuma kodu:

// Read from ranges of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

Çalışma kitabını ve çalışma sayfasını yükledikten ve okuduktan sonra, aşağıdaki kod örneği, formülleri değiştirmek veya belirli hücrelere uygulamak için kullanılabilir. Kod şöyle devam ediyor:

// Set formulas in specific cells
worksheet["A1"].Formula = "SUM(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "MAX(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();

4.3. Excel belgesini tekrar CSV Dosyasına Kaydetme

IronXL ile CSV dosyaları yazmak kolay bir süreçtir. Aşağıdaki kod, Excel dosyasını SaveAsCsv yöntemi kullanarak CSV formatında basitçe kaydeder.

// Load the Excel Workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx");

// Save the workbook as a CSV file
wb.SaveAsCsv("SaveAsCSV.csv", ",");
// This will save as "SaveAsCSV.Sheet1.csv"

5. CsvHelper Kullanarak CSV Dosyaları ile Çalışma

CSV dosyalarını okumak, aslında göründüğünden çok daha zor bir görevdir. CsvHelper kütüphanesi, tür güvenli, hızlı ve esnek kod yazmayı kolaylaştırır.

5.1. CsvHelper ile CSV Dosyalarını Okuma

Bu örnek CSV dosyası, üç metin sütunu ve bir sayı sütunu içerir.

FirstName,LastName,Age,IsActive
Ali,Talal,30,Yes
Affan,Ahmad,31,No
Saad,Bhatti,31,Yes
Text

Her satırı Person tipinde bir nesneye eşleyeceğiz.

// Define the Person class to map CSV records
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int? Age { get; set; }
    public string IsActive { get; set; }
}

CSV dosyamızı okumak için kod aşağıdadır.

// Define the path to the CSV file
var fileName = @"<path to our CSV file>";

// Configure CsvHelper
var configuration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
    Encoding = Encoding.UTF8,
    Delimiter = ","
};

// Read CSV file
using (var fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    using (var textReader = new StreamReader(fs, Encoding.UTF8))
    using (var csv = new CsvReader(textReader, configuration))
    {
        var data = csv.GetRecords<Person>();
        
        // Iterate over each person record
        foreach (var person in data)
        {
            // Process each Person object
        }
    }
}

data türü IEnumerable<Person>'dir. CsvHelper, her sütunu aynı isimdeki özelliğe otomatik olarak eşleyecektir. Örneğin, FirstName sütunundaki değer Person.FirstName içine eşlenecektir. Daha sonra data üzerinde yineleme yapabiliriz ve her satırdaki değerlere erişebiliriz.

5.2. CSV Dosyalarında Veriyi Bir Türden Diğerine Dönüştürme

CSV dosyaları çoğunlukla metin verisi içerir. Örneğin, yaş sütunu bir tam sayı değeridir ve CSV dosyası sadece metin içerir. CsvHelper, verileri dizelerden standart .NET türlerine (Boolean, Int32, Int64, Enum) dönüştürebilir. Bizim durumumuzda, yalnızca True/False'a sahip olabilen ve standart dışı değerler içeren bir IsActive bool veri türümüz var. Özel bir dönüştürücü oluşturarak dönüştürülebilir. Kod stilizasyonu şu şekilde gider:

// Custom Boolean Converter for CsvHelper
public class CustomBooleanConverter : DefaultTypeConverter
{
    public override object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
    {
        // Convert "Yes" to true and anything else to false
        return text.Equals("Yes", StringComparison.OrdinalIgnoreCase);
    }
}

Her ne kadar bool standart bir .NET türü olsa da, varsayılan dönüştürücü yalnızca True/False değeri ile başa çıkabilir, oysa CSV dosyamızda Yes/No bulunur. Burada, DefaultTypeConverter'ü alt sınıf yapmamız ve ardından ConvertFromString yöntemini geçersiz kılmamız gerekiyor.

6. Lisanslama

IronXL, C# Excel kütüphanesi olan açık ticari bir üründür. Geliştirme için ücretsiz olup, ticari dağıtım için her zaman lisanslanabilir. Tek proje kullanımı, tek geliştiriciler, ajanslar ve küresel şirketler için lisanslar mevcuttur, ayrıca SaaS ve OEM dağıtımı için de geçerli. Tüm lisanslar, 30 günlük para iade garantisi, bir yıllık ürün desteği ve güncellemeleri, geliştirici/staging/üretim için geçerliliği ve ayrıca kalıcı bir lisans (tek seferlik satın alma) içerir. Lite paketi $999 ile başlar.

CsvHelper — CSV dosyalarını okuma ve yazma, ticari kullanım için tamamen ücretsizdir.

7. Özet ve Sonuç

Özet

IronXL, bir Excel dosyasını işlemek için gereken her şeyi sağlayan kapsamlı bir kütüphanedir. Kullanımı kolaydır ve çeşitli formatları XLSX'ye, ve XLSX'den diğer formatlara, örneğin CSV'ye dönüştürme olanağı sağlar. Bu dönüşüm, kullanıcıya çeşitli dosya formatlarıyla kolayca çalışabilme esnekliği sunar.

Öte yandan, CsvHelper yalnızca CSV dosya formatlarıyla çalışmak üzere tasarlandığından, yalnızca CSV dosyalarıyla ilgilenebilir. Tüm kod örnekleri CsvHelper dökümantasyon dosyalarında bulunabilir. Dökümantasyon, CsvHelper'ı projenizde nasıl kullanacağınıza dair yönergeler verir.

Sonuç

IronXL, birden fazla formatla çalışma desteği sunduğundan CsvHelper'a göre açık bir avantaja sahiptir. Dahası, formülleri ve stilleri istediğiniz şekilde uygulayabilirken, CsvHelper yalnızca sınırlı seçeneklerle CSV dosyalarını okumayı ve yazmayı sağlar. Ayrıca, mevcut bir CSV dosyasına yeni kayıtlar ekleyemezsiniz, çünkü bu yalnızca önceki girişlerin üzerine yazılır.

Lütfen dikkate alın: CsvHelper, ilgili sahibinin kayıtlı ticari markasıdır. Bu site, CsvHelper ile ilişkili, onaylanmış veya sponsorluk almamıştır. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez