IRONSOFTWAREHOME
IRONXL KULLANARAK

C# CSV Dosya Okuyucu: CSV Verilerini IronXL ile Ayrıştırma ve İşleme

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

CSV (Virgülle Ayrılmış Değerler) dosyaları, finansal raporlardan müşteri veri ihracatlarına kadar ticari uygulamalarda her yerdedir. CSV formatı yüzeyde aldatıcı derecede basittir, ancak üretim kodundaki ayrıştırması, alıntılanan alanlarla, birden fazla ayıraç türüyle, gömülü yeni satırlarla uğraşırken ve ham metni güçlü yazılmış .NET nesnelerine dönüştürme ihtiyacıyla hızlıca zorlaşabilir. IronXL, geliştiricilerin CSV verilerini minimum kodla Excel, XML veya diğer formatlara dönüştürmelerine olanak tanıyan kurumsal kullanıma hazır CSV işleme sunan bir .NET kütüphanesidir.

Bu kılavuz, C# CSV dosya okuyucu olarak IronXL'ın nasıl çalıştığını ve .NET 10 uygulamalarınıza nasıl entegre edebileceğinizi anlatır. IronXL'ı kendiniz deneyin, ücretsiz deneme lisansı ile birlikte çalışın ve CSV ve Excel görevlerini nasıl ele aldığını öğrenin.

CSV Okumak İçin IronXL Nasıl Kurulur?

IronXL'ı projenize eklemek sadece bir an alır. Visual Studio'da NuGet Paket Yöneticisi aracılığıyla veya .NET CLI veya PowerShell içindeki NuGet Paket Yöneticisi Konsolu'nu kullanarak komut satırından kurabilirsiniz. Her iki yöntem de aynı paketi kurar ve herhangi bir .NET 10 proje türü ile çalışır.

dotnet add package IronXL.Excel

Kurulum seçenekleri ve yapılandırma hakkında daha fazla ayrıntı için IronXL kurulum belgelerine göz atınız.

Kurulumdan sonra, ilk CSV dosyanızı okumanız çok az kod gerektirir. Aşağıdaki örnek, .NET 10 üst düzey ifadelerini kullanır:

using IronXL;

// Load CSV file
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a specific cell
string cellValue = sheet["A1"].StringValue;

// Iterate through all rows and cells
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
    {
        Console.WriteLine(cell.StringValue);
    }
}

The WorkBook.LoadCSV metodu başlık tanımlamasını işler, dahili veri yapısı oluşturur ve bellek verimli bir şekilde ayrıştırma yapar -- böylece veri yönetiminizi ilk kod satırından itibaren basitleştirir.

C# CSV Dosya Okuyucu Eğitimi: IronXL ile CSV Verilerini Ayrıştırma ve Dönüştürme: Resim 1 - IronXL NuGet kurulumu

Özel Ayıraçlarla CSV Dosyaları Nasıl Okunur?

Gerçek dünya CSV dosyaları her zaman virgül kullanmaz. Noktalı virgüller, borular ve sekmeler, özellikle virgüllerin ondalık ayırıcı olarak hizmet ettiği uluslararası veri kümelerinde yaygın alternatiflerdir. IronXL, esnek yükleme seçenekleri aracılığıyla herhangi bir ayıracı yönetir.

using IronXL;

// Load CSV with semicolon delimiter (common in European data exports)
WorkBook workbook = WorkBook.LoadCSV("european-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ";");

// Load tab-separated values (TSV)
WorkBook tsvWorkbook = WorkBook.LoadCSV("export_data.tsv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: "\t");

// Load pipe-delimited file
WorkBook pipeWorkbook = WorkBook.LoadCSV("log_export.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: "|");

// Access data normally after loading
WorkSheet sheet = workbook.DefaultWorkSheet;
decimal totalSales = sheet["B2:B10"].Sum();

Console.WriteLine($"Total sales: {totalSales}");

listDelimiter parametresi herhangi bir dize kabul eder, bu da size ayrıştırma davranışını tam olarak kontrol etme imkanı sunar. IronXL, ayrıştırma sırasında sütun değerlerini ve veri türlerini korur -- sayısal değerler sayı olarak kalır, tarihler DateTime nesnesi olarak kalır ve formüller ilişkilerini sürdürür.

Tutarsız biçimlendirmeye sahip dosyalar için, IronXL hata yönetimi hatalı satırları uygulamayı çökertmeden yönetir, bu nedenle geçerli veriler, bireysel satırlar problem olsalar bile işlemeye devam eder.

C# CSV Dosya Okuyucu Eğitimi: IronXL ile CSV Verilerini Ayrıştırma ve Dönüştürme: Resim 2 - Başlangıç örnek çıktısı

Desteklenen Dosya Formatları ve Ayıraçlar

IronXL, CSV dosyalarını okurken aşağıdaki ayıraç türlerini yüklemeyi destekler:

IronXL'nin LoadCSV metodunun desteklediği yaygın ayıraç türleri
AyıraçKarakterYaygın Kullanım Durumu
Virgül,Standart CSV, ABD-lokasyon dışarı aktarımları
Noktalı virgül;Avrupa lokasyon dışarı aktarımları (virgül ondalık ayırıcı olarak)
SekmeSekme ile ayrılmış değerler (TSV), veritabanı dışarı aktarımları
Borular|Log dosyaları, sistem dışarı aktarımları
Özel dizeHerhangiÖzel veri formatları, çok karakterli ayıraçlar

CSV Verilerini C# Nesnelerine Nasıl Ayrıştırırsınız?

CSV satırlarını güçlü tipli nesnelere dönüştürmek, veri işleme işlemlerini basitleştirir ve LINQ işlemlerine olanak tanır. IronXL, hücre erişim yöntemleri ile bu eşlemeyi kolaylaştırır. Aşağıdaki kod, .NET 10 üst düzey ifadeleri kullanarak bir CSV dosyasını tipli nesne listesine nasıl eşleyeceğinizi göstermektedir:

using IronXL;

// Define a typed model matching your CSV structure
public record Product(string Name, decimal Price, int Stock, DateTime? LastUpdated);

// Load and parse CSV file
WorkBook workbook = WorkBook.LoadCSV("inventory.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

var products = new List<Product>();

// Start from row 2 to skip the header row
for (int row = 2; row <= sheet.RowCount; row++)
{
    products.Add(new Product(
        Name: sheet[$"A{row}"].StringValue,
        Price: sheet[$"B{row}"].DecimalValue,
        Stock: sheet[$"C{row}"].IntValue,
        LastUpdated: sheet[$"D{row}"].DateTimeValue
    ));
}

// Use LINQ for analysis after loading
var lowStock = products.Where(p => p.Stock < 10).ToList();
var highValue = products.Where(p => p.Price > 100m).OrderByDescending(p => p.Price).ToList();

Console.WriteLine($"Products with low stock: {lowStock.Count}");
Console.WriteLine($"High-value products: {highValue.Count}");

IronXL'nin yazılı değer özellikleri -- StringValue, DecimalValue, IntValue, DateTimeValue -- dönüştürmeleri güvenli bir şekilde ele alır, geçersiz veriler için varsayılan değerler döndürerek istisna fırlatmak yerine. Bu savunmacı yaklaşım, uygulamaların mükemmel olmayan verileri kesinti olmadan yönetmesini sağlar. Bu C# 9'da tanıtılan C# kayıt türleri ile doğal olarak eşleştirilir ve eşlenen CSV satırları için kısa, değiştirilemez bir veri modeli sağlar.

IronXL özellikler sayfası, hücre verilerini okumak için mevcut değer erişim türlerinin tam bir özetini sağlar.

C# CSV Dosya Okuyucu Eğitimi: IronXL ile CSV Verilerini Ayrıştırma ve Dönüştürme: Resim 3 - Farklı sınırlayıcıları okuma çıktısı

CSV Verilerini LINQ ile Nasıl Filtreler ve Sorgularsınız?

CSV verileri bir WorkSheet içine yüklendiğinde, aralık seçicileri ile çalışabilir veya nesnelere dönüştürüp LINQ sorguları için kullanabilirsiniz. Basit sütun işlemleri için aralık temelli erişim en doğrudan yoldur:

using IronXL;

WorkBook workbook = WorkBook.LoadCSV("sales-data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read entire columns using range notation
var productNames = sheet["A2:A100"]
    .Select(cell => cell.StringValue)
    .Where(name => !string.IsNullOrEmpty(name))
    .ToList();

// Aggregate numeric columns directly
decimal totalRevenue = sheet["C2:C100"].Sum();
decimal averageOrder = sheet["C2:C100"].Avg();

Console.WriteLine($"Products loaded: {productNames.Count}");
Console.WriteLine($"Total revenue: {totalRevenue:C}");
Console.WriteLine($"Average order value: {averageOrder:C}");

Bu aralık temelli yaklaşım, basit toplamalarda satır satır yinelemeden kaçınarak, daha büyük dosyalar üzerinde performansı artırır. Desteklenen aralık işlemlerinin tam listesi için IronXL belgelerine bakınız.

C#'de CSV Formatını Excel Formatına Nasıl Dönüştürürsünüz?

Birçok iş akışı, gelişmiş analiz, biçimlendirme veya dağıtım için Excel formatında CSV verilere gereksinim duyar. IronXL, tüm veri bütünlüğünü korurken bu dönüşümü kolaylaştırır.

using IronXL;

// Load CSV file
WorkBook csvWorkbook = WorkBook.LoadCSV("monthly-report.csv");
WorkSheet sheet = csvWorkbook.DefaultWorkSheet;

// Apply formatting before saving
sheet["A1:D1"].Style.Font.Bold = true;
sheet["A1:D1"].Style.BackgroundColor = "#4472C4";
sheet["A1:D1"].Style.Font.Color = "#FFFFFF";

// Apply currency format to price column
sheet["B2:B1000"].FormatString = "$#,##0.00";

// Apply date format to date column
sheet["D2:D1000"].FormatString = "yyyy-MM-dd";

// Save as Excel with a single method call
csvWorkbook.SaveAs("monthly-report.xlsx");

Console.WriteLine("Conversion complete: monthly-report.xlsx");

Dönüşüm, genellikle manuel dönüşüm yöntemleriyle sorun yaratan sayısal hassasiyet, tarih biçimleri ve özel karakterleri korur. IronXL, büyük veri kümeleriyle bile hızlı açılan verimli dosyalar yaratarak, ortaya çıkan Excel dosya yapısını otomatik olarak optimize eder.

Çıktı formatı üzerinde ek kontrol için ihracat rehberi, XLSX, XLS, CSV ve PDF gibi seçenekleri kapsar. Excel dosyalarını yazmayı ve sıfırdan Excel dosyaları oluşturmayı da öğrenebilirsiniz.

C# CSV Dosya Okuyucu Eğitimi: IronXL ile CSV Verilerini Ayrıştırma ve Dönüştürme: Resim 4 - CSV verilerini ayrıştırma çıktısı

Veritabanı İşlemleri için CSV'yi DataSet'e Dönüştürme

CSV verilerini daha fazla işlem veya veritabanı ekleme için bir DataSet içine yüklemeniz gerektiğinde, IronXL doğrudan dönüşüm desteği sağlar. Excel'den DataSet'e rehberi bunu detaylı bir şekilde açıklar:

using IronXL;
using System.Data;

WorkBook workbook = WorkBook.LoadCSV("customer-export.csv");

// Convert entire workbook to DataSet
DataSet dataSet = workbook.ToDataSet();

// The first sheet becomes the first DataSekmele
DataTable customerTable = dataSet.Tables[0];

Console.WriteLine($"Rows loaded: {customerTable.Rows.Count}");
Console.WriteLine($"Columns: {customerTable.Columns.Count}");

// Process with standard ADO.NET
foreach (DataRow row in customerTable.Rows)
{
    string name = row["Name"]?.ToString() ?? string.Empty;
    string email = row["Email"]?.ToString() ?? string.Empty;
    Console.WriteLine($"Customer: {name} <{email}>");
}
C#

Bu yaklaşım, ADO.NET iş akışları ile doğrudan entegre olur ve SQL Server, SQLite veya diğer ilişkisel veritabanlarına standart veri adaptörleri aracılığıyla CSV verilerini itmek için kullanışlıdır. Çünkü DataSet ve DataSekmele, çekirdek .NET türleridir, bu yol IronXL dışında ek bir bağımlılık gerektirmez.

Büyük CSV Dosyaları ve Performans Optimizasyonu Nasıl İdare Edilir?

Büyük CSV dosyalarını -- on binlerce satır veya daha fazla -- işlemek, verilere nasıl erişildiğine ve belleğin nasıl yönetildiğine dikkat etmeyi gerektirir. IronXL, büyük dosya senaryolarına yardımcı olan özellikler içerir.

Performans için Aralık İşlemleri Kullanma

Büyük veri kümeleriyle optimal performans için, tek tek hücrelere birer birer erişmek yerine aralık işlemlerini kullanın. Aralık işlemleri IronXL'nin dahili motoru tarafından daha verimli bir şekilde işlenir:

using IronXL;

WorkBook workbook = WorkBook.LoadCSV("large-dataset.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;

int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Dataset dimensions: {rowCount} rows x {colCount} columns");

// Efficient: read entire range at once
var allData = sheet[$"A1:{GetColumnLetter(colCount)}{rowCount}"]
    .Select(cell => cell.StringValue)
    .ToList();

// Efficient: aggregate a column without row-by-row iteration
decimal columnSum = sheet[$"B2:B{rowCount}"].Sum();

Console.WriteLine($"Column B total: {columnSum}");

static string GetColumnLetter(int col)
{
    string result = string.Empty;
    while (col > 0)
    {
        col--;
        result = (char)('A' + col % 26) + result;
        col /= 26;
    }
    return result;
}

IronXL, CSV dosyalarını yüklerken, uluslararası karakterlerin sütun değerlerinde doğru görüntülenmesini sağlamak için, ek bir yapılandırma gerektirmeksizin metin kodlaması varyasyonlarını (UTF-8, UTF-16, ASCII) otomatik olarak yönetir. Bu, UTF-8 BOM veya alternatif kodlamaların yaygın olduğu bölgelerdeki sistemlerden ihraç edilen dosyalar için özellikle önemlidir.

Güvenilmeyen CSV Kaynakları için Hata Yönetimi

Güvenilmeyen veya değişken kaynaklardan gelen CSV dosyalarını işlerken, işlemleri try-catch bloklarına sarmak ekstra bir güvenlik katmanı sağlar:

using IronXL;

string filePath = "user-uploaded-data.csv";

try
{
    WorkBook workbook = WorkBook.LoadCSV(filePath);
    WorkSheet sheet = workbook.DefaultWorkSheet;

    Console.WriteLine($"Loaded {sheet.RowCount} rows from {filePath}");

    for (int row = 2; row <= sheet.RowCount; row++)
    {
        string value = sheet[$"A{row}"].StringValue;
        if (!string.IsNullOrWhiteSpace(value))
        {
            Console.WriteLine(value);
        }
    }
}
catch (IronXL.Exceptions.IronXLException ex)
{
    Console.WriteLine($"IronXL error reading {filePath}: {ex.Message}");
}
catch (IOException ex)
{
    Console.WriteLine($"File access error: {ex.Message}");
}

IronXL nasıl yapılır rehberleri dosyalar, akışlar ve bayt dizileri dahil çeşitli kaynaklardan veri alma desenlerini kapsar.

C# CSV Dosya Okuyucu Eğitimi: IronXL ile CSV Verilerini Ayrıştırma ve Dönüştürme: Resim 5 - CSV'yi Excel formatına dönüştürme

Çapraz Platform Dağıtımı

IronXL, Microsoft Office'ten bağımsız çalışır, bu da onu sunucu ortamları ve bulut dağıtımları için uygun hale getirir. İster Windows, Linux, macOS, Docker konteynerleri üzerinde, ister Azure veya AWS'deki bulut işlevlerinde dağıtım yapıyor olun, IronXL tüm platformlarda yapılandırma değişikliği gerektirmeden tutarlı sonuçlar sunar.

Bu çapraz platform yeteneği, veri işleme görevlerini hafif konteynerler aracılığıyla yönetilen mikro hizmet mimarileri için değerlidir. IronXL özellikler görünümü, desteklenen ortamlar ve çalışma zamanı hedeflerinin tam listesini detaylandırır.

IronXL Lisansı Nasıl Alınır?

IronXL, üretim ortamlarında kullanım için bir lisans anahtarı gerektirir. Değerlendirme için ücretsiz deneme lisansı mevcuttur ve ticari lisanslar bireysel geliştiriciler, ekipler ve organizasyonlar için mevcuttur.

Herhangi bir IronXL çağrısı yapmadan önce uygulamanıza lisans anahtarını uygulayın:

using IronXL;

// Apply license key at application startup
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Verify the license is active
if (IronXL.License.IsValidLicense("YOUR-LICENSE-KEY-HERE"))
{
    Console.WriteLine("IronXL license is active.");
}

// Now use IronXL normally
WorkBook workbook = WorkBook.LoadCSV("data.csv");
WorkSheet sheet = workbook.DefaultWorkSheet;
Console.WriteLine($"Loaded {sheet.RowCount} rows.");

Deneme ve lisanslama seçenekleri için, IronXL lisanslama sayfasını ziyaret edin.

CSV İşleme için IronXL'yi Neden Seçmeliyim?

IronXL, C# CSV dosyası okumasını zahmetli bir ayrıştırma görevinden kolay bir işlem haline getirir. Kütüphane, manuel ayrıştırmanın yanlış yaptığı gömülü virgüller, tırnak içine alınmış alanlardaki yeni satırlar, tutarsız sınırlayıcılar, kodlama varyasyonları ve hatalı satırlar gibi yaygın kenar durumlarını işleyebilir ve her senaryo için özel kod gerektirmez. İster hızlı bir kerelik veri içe aktarma ister günde binlerce dosya işleyen bir üretim hattına ihtiyaç duyun, aynı API her iki bağlamda da çalışır.

Manuel CSV ayrıştırma string.Split veya StreamReader ile alıntılanmış alanlar sınırlayıcı karakter içerdiğinde veya alan değerleri içinde satır sonları belirdiğinde hızla çöker. IronXL, tırnak içine alınmış alan işleme ve kaçış dizileri için CSV spesifikasyonunu izleyerek varsayılan olarak bu durumları doğru bir şekilde ele alır.

IronXL'yi .NET 10'da CSV işleri için ayıran temel avantajlar:

  • Ofis bağımlılığı yok: Sunucu ve bulut dağıtımları, Microsoft Office veya herhangi bir COM geçişkesi yüklemeden çalışır
  • Özel sınırlayıcılar: Herhangi bir sınırlayıcı karakter veya dize listDelimiter parametresinde desteklenir
  • Tür güvenli hücre erişimi: StringValue, DecimalValue, IntValue ve DateTimeValue erişimcileri kötü veri üzerinde hata vermek yerine güvenli varsayılan değerler döndürür
  • Aralık operasyonları: Satır satır yineleme olmadan aralıklar arasında veri toplama ve sorgulama
  • Format dönüşümü: CSV'yi yükle ve aynı iş akışında XLSX, XLS, PDF veya diğer formatlar olarak kaydet
  • DataSet entegrasyonu: Yüklenen çalışma kitaplarını DataSet / DataSekmele 'a dönüştürerek ADO.NET ve veritabanı operasyonları için kullanın
  • Çapraz platform: Windows, Linux, macOS, Docker ve bulut ortamlarında değişiklik yapmadan çalışır

IronXL belgeleri ve hücre biçimlendirme rehberi, biçimlendirme, formül desteği ve gelişmiş çalışma kitabı işlemleri hakkında daha fazla detay sağlar.

CSV dosyalarını güvenle yönetmeye hazır mısınız? Ücretsiz bir deneme ile başlayın ve IronXL özellik setini keşfedin.

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