IRONSOFTWAREHOME
IRONXL KULLANARAK

Managing CSV Files with IronXL in C#

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

Modern C# uygulamalarında CSV dosyalarını yönetmek, iş raporları üretmekten veritabanı kayıtlarını dışa aktarmaya kadar temel bir gerekliliktir. .NET temel dosya yazma yetenekleri sunsa da, CSV dosyalarını verimli bir şekilde ele almak, özellikle de özel karakterlerle uğraşıldığında, birden fazla veri türleriyle ve büyük veri kümeleriyle başa çıkmak için daha sağlam bir çözüme ihtiyaç duyulacaktır. IronXL, CSV işlemlerini yöneten kapsamlı bir API sağlar. Bu API, C#'ta CSV'ye kaydetme işlemi gibi işlemleri yönetirken tam Excel uyumluluğu da sunar.

Bu öğretici, C# uygulamalarınızda CSV dosyaları oluşturma, kaydetme ve yönetme için IronXL'in güçlü özelliklerini nasıl kullanacağınızı gösterir. Basit koleksiyonlardan karmaşık DataTable'lara kadar çeşitli veri kaynaklarını ele alma konusunda pratik teknikler öğreneceksiniz, tüm bunlar temiz ve sürdürmesi kolay bir kod koruyarak.

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 1 - IronXL

IronXL ile Başlangıç

CSV işlemlerine dalmadan önce projenize IronXL yüklemeniz gerekir. Kütüphane, hem eski hem de modern uygulamalarla uyumlu hale getiren .NET Framework 4.6.2+ ve .NET Core 2+'yi destekler. IronXL, Windows, Linux ve macOS ortamlarında sorunsuz çalışarak mükemmel çapraz platform desteği de sunar.

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 2 - Çapraz Platform

Visual Studio'yu açın, Paket Yöneticisi Konsolu'na gidin ve aşağıdaki komutu girin:

PM > Install-Package IronXL.Excel

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 3 - Kurulum

.NET CLI ile de olabilir

dotnet add package IronXL.Excel

Kurulduktan sonra, tüm CSV yönetim özelliklerine erişmek için C# dosyanıza IronXL ad alanını ekleyin, örneğin veri yazma:

using IronXL;

Bu basit kurulum, güçlü elektronik tablo manipülasyon yeteneklerine anında erişim sağlar. Excel Interop veya karmaşık CSV çözümleme mantıklarını gerektiren geleneksel yaklaşımların aksine, IronXL, karmaşıklıkları arka planda ele alır ve içgüdüsel bir API sunar. Kütüphane, Microsoft Office yüklemesi gerektirmeden bağımsız çalışır, bu da sunucu kurulumları ve konteynerize uygulamalar için idealdir.

Kütüphaneyi yüklerken veya başlatırken bir hata oluşursa, projenizin desteklenen bir .NET sürümünü hedeflediğinden ve tüm bağımlılıkların doğru bir şekilde geri yüklendiğinden emin olun.

Yeni CSV Dosyalarına Verileri Nasıl Kaydedip Yazarsınız?

Sıfırdan CSV dosyaları oluşturmak veya yazmak, IronXL ile sezgisel bir deseni takip eder. Çalışma kitabı oluşturarak başlar, tüm verileri hücrelere ekler ve ardından CSV formatında kaydedersiniz. Bu yaklaşım, temel string birleştirme yöntemlerinden çok daha fazla kontrol sağlar.

Ana CSV oluşturma mantığına dalmadan önce, bir genel sınıf öğrenci yapısını kullanan basit bir model tanımı işte burada. Bu model, daha sonra CSV'ye dışa aktarabileceğimiz yapılandırılmış verileri temsil eder.

// Define a Student class to model your data
public class Student
{
    public string? Name { get; set; }
    public int Age { get; set; }
    public string? Grade { get; set; }
}

Öğrenci nesnelerinden oluşan bir listeyi doldurabilir ve ardından IronXL'i kullanarak verimli bir şekilde bir CSV dosyasına dışa aktarabilirsiniz. Bu örnek, sınıf özelliklerini çalışma sayfası hücrelerine nasıl eşleştireceğinizi gösterir:

using System;
using System.Collections.Generic;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create sample data using the student class
        List<Student> students = new List<Student>()
        {
            new Student { Name = "Alice Johnson", Age = 20, Grade = "A" },
            new Student { Name = "Brian Smith", Age = 22, Grade = "B+" },
            new Student { Name = "Chloe Brown", Age = 19, Grade = "A-" },
            new Student { Name = "David Clark", Age = 21, Grade = "B" }
        };
        // Create a new workbook and worksheet
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet sheet = workbook.CreateWorkSheet("Students");
        // Add headers
        sheet["A1"].Value = "Name";
        sheet["B1"].Value = "Age";
        sheet["C1"].Value = "Grade";
        // Add student data to the worksheet
        for (int i = 0; i < students.Count; i++)
        {
            sheet[$"A{i + 2}"].Value = students[i].Name;
            sheet[$"B{i + 2}"].IntValue = students[i].Age;
            sheet[$"C{i + 2}"].Value = students[i].Grade;
        }
        // Save as CSV file
        workbook.SaveAsCsv("students.csv");
        Console.WriteLine("students.csv file has been created successfully!");
    }
}

Açıklama:

  1. Kamu sınıfı öğrenci, veri modeliniz için bir şema tanımlar.
  2. Örnek verilerle bir öğrenci nesnesi listesi oluşturulur.
  3. IronXL'nin WorkBook ve WorkSheet API'leri bellekte yapılandırılmış bir hesap tablosu oluşturmak için kullanılır.
  4. CSV çıktısında okuyabilirliği sağlamak için başlıklar manuel olarak eklenir.
  5. Öğrenci verileri, çalışma sayfasına satır satır yazılır.
  6. Son olarak, veri SaveAsCsv() kullanılarak bir CSV dosyası olarak kaydedilir.

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 4 - Konsol Çıkışı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 5 - Excel Çıkışı

Bu desen ölçeklenebilirdir; Böylece, bunu daha büyük veri kümeleri için kolayca adapte edebilir ya da bir veritabanından ya da API'den öğrenci verilerini çeken bir uygulamaya entegre edebilirsiniz.

Örneğin, dosyaya yazılırken bir hata oluştuğunda (örneğin, dosya kilitli veya yol geçersiz), nazikçe işlemleyebilirsiniz:

try
{
    workbook.SaveAsCsv("students.csv");
}
catch (Exception ex)
{
    Console.WriteLine($"Error occurred while saving CSV: {ex.Message}");
}

Bu, dosya I/O sorunları ortaya çıktığında bile uygulamanızın sağlam ve bilgilendirici kalmasını sağlar.

İşte temel bir CSV dosyası oluşturmak için örnek kod.

static void Main(string[] args)
{
    // Create a new workbook
    var writer = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet sheet = writer.CreateWorkSheet("Sales Data");
    // Add headers
    sheet["A1"].Value = "Product";
    sheet["B1"].Value = "Quantity";
    sheet["C1"].Value = "Price";
    sheet["D1"].Value = "Total";
    // Add data rows
    sheet["A2"].Value = "Widget A";
    sheet["B2"].IntValue = 100;
    sheet["C2"].DecimalValue = 29.99m;
    sheet["D2"].Formula = "=B2*C2";
    sheet["A3"].Value = "Widget B";
    sheet["B3"].IntValue = 50;
    sheet["C3"].DecimalValue = 49.99m;
    sheet["D3"].Formula = "=B3*C3";
    // Save as new CSV file
    writer.SaveAsCsv("sales_report.csv");
}

Bu kod, başlıklar ve verilerle yapılandırılmış bir çalışma kitabı oluşturur, ardından CSV formatına dışa aktarır. WorkBook.Create() yöntemi, bellekte yeni bir hesap tablosunu başlatır. Her hücre, dizeler, tamsayılar, ondalıklar ve hatta formüller gibi farklı veri türlerini barındırabilir. SaveAsCsv() çağrıldığında, IronXL otomatik olarak dönüşümü yönetir, özel karakterleri doğru bir şekilde kaçar ve veri bütünlüğünü korur.

Bu yaklaşımın güzelliği, esnekliğinde yatmaktadır. Verileri dışa aktarmadan önce bir elektronik tablo olarak işleyebilir, formülleri uygulayabilir, biçimlendirme veya doğrulama kuralları ekleyebilirsiniz. IronXL, dışa aktarma sürecinde formülleri otomatik olarak değerlendirir ve CSV'nizin hesaplanan değerleri formül metni yerine içerdiğini sağlar.

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 6 - CSV Çıkışı

Özel ayırıcı gereksinimleri için, IronXL standart virgüle alternatifler belirtmenize olanak tanır:

// Save with semicolon delimiter for European locale compatibility
workbook.SaveAsCsv("sales_report.csv", ";");
// Save with tab delimiter
workbook.SaveAsCsv("sales_report.tsv", "\t");

Bu esneklik, çeşitli bölgesel ayarlar ve uygulama gereksinimleriyle uyumluluğu güvence altına alır. Kütüphane, farklı sistemler ve bölgeler arasında doğru karakter temsili sağlamak için kodlama sorunlarını otomatik olarak ele alır.

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 7 - Özellikler

DataTable'yi CSV'ye Nasıl Aktarırsınız?

DataTables, veritabanlarından veya iş mantığından gelen tablo verilerini saklamak için .NET uygulamalarında yaygın olarak kullanılır. IronXL, işlem boyunca sütun adlarını ve veri türlerini koruyarak sorunsuz bir DataTable-to-CSV dönüştürme sağlar.

// Create a sample DataTable (simulating database results) to store data
DataTable customerOrders = new DataTable("CustomerOrders");
customerOrders.Columns.Add("OrderID", typeof(int));
customerOrders.Columns.Add("CustomerName", typeof(string));
customerOrders.Columns.Add("OrderDate", typeof(DateTime));
customerOrders.Columns.Add("Amount", typeof(decimal));
// Add sample data
customerOrders.Rows.Add(1001, "Acme Corp", new DateTime(2024, 1, 15), 1250.50m);
customerOrders.Rows.Add(1002, "TechStart Inc", new DateTime(2024, 1, 16), 3500.00m);
customerOrders.Rows.Add(1003, "Global Systems", new DateTime(2024, 1, 17), 875.25m);
// Convert DataTable to CSV using IronXL
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Orders");
// Add headers from DataTable columns
for (int i = 0; i < customerOrders.Columns.Count; i++)
{
    sheet.SetCellValue(0, i, customerOrders.Columns[i].ColumnName);
}
// Add data rows
for (int row = 0; row < customerOrders.Rows.Count; row++)
{
    for (int col = 0; col < customerOrders.Columns.Count; col++)
    {
        sheet.SetCellValue(row + 1, col, customerOrders.Rows[row][col]);
    }
}
// Export to CSV
workbook.SaveAsCsv("customer_orders.csv");

Bu örnek, bir veritabanından gelen sipariş verilerinin raporlama veya entegrasyon amaçları için dışa aktarılması gereken bir gerçek dünyadaki senaryoyu gösterir. Kod, sütun başlıklarını ve satır verilerini koruyarak DataTable yapısı üzerinde döngü yapar. IronXL, farklı veri türlerinin uygun bir şekilde dönüşümünü yönetir, tarihler, ondalıklar ve dizelerin sonuçtaki CSV dosyasında doğru formatlandığını garanti eder.

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 8 - DataTable'dan CSV Çıkışı

Birden fazla ilişkili tablo veya karmaşık veri dönüşümlerini içeren daha karmaşık senaryolar için, IronXL'in hücre referanslama ve formül yeteneklerinden yararlanabilirsiniz:

// Add summary row with formulas
int lastRow = customerOrders.Rows.Count + 1;
sheet[$"A{lastRow + 1}"].Value = "Total:";
sheet[$"D{lastRow + 1}"].Formula = $"=SUM(D2:D{lastRow})";
// Calculate and save
workbook.SaveAsCsv("customer_orders_with_total.csv");

Bu yaklaşım, geleneksel DataTable dışa aktarma yöntemlerine göre çok daha fazla kontrol sağlar. Hesaplanmış alanlar ekleyebilir, koşullu biçimlendirme mantığı uygulayabilir veya nihai dışa aktarmadan önce sütunları yeniden düzenleyebilirsiniz. IronXL dökümantasyonu, gelişmiş DataTable manipülasyon senaryoları için kapsamlı örnekler sağlar.

Excel Dosyalarını CSV'ye Nasıl Dönüştürürsünüz?

IronXL'in en güçlü özelliklerinden biri, aktif Excel dosyalarıyla sorunsuz çalışabilme ve onları veri bütünlüğünü koruyarak CSV formatına dönüştürebilme yeteneğidir. Bu, Excel raporları üreten ancak sonraki işlemler için CSV gerektiren sistemlerle entegrasyon yaparken özellikle kullanışlıdır.

// Load an existing Excel file
WorkBook existingWorkbook = WorkBook.Load("Budget.xlsx");
// Access the first worksheet
WorkSheet sheet = existingWorkbook.WorkSheets[0];
// Save as CSV - single sheet
sheet.SaveAsCsv("Budget.csv");
// Or save entire workbook (creates multiple CSV files for multiple sheets)
existingWorkbook.SaveAsCsv("BudgetReport.csv");

Excel dosyalarını yüklediğinizde, IronXL tüm hücre değerlerini, formüller tarafından hesaplananlar da dahil, korur. Kütüphane, dönüşüm sürecinde Excel formüllerini değerlendirir ve CSV'nizin gerçek hesaplanan değerleri içermesini sağlar. Bu, CSV dışa aktarmalarında formül metninin görünmesi gibi yaygın bir sorunu ortadan kaldırır.

Giriş

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 9 - Örnek Girdi

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 10 - Excel'den CSV Çıkışı

Birden fazla çalışma sayfası içeren çalışma kitapları için, IronXL her sayfayı akıllıca işler:

// Process multiple sheets
WorkBook multiSheetWorkbook = WorkBook.Load("annual_data.xlsx");
foreach (WorkSheet sheet in multiSheetWorkbook.WorkSheets)
{
    string fileName = $"export_{sheet.Name}.csv";
    sheet.SaveAsCsv(fileName);
    Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}

Bu kod, bir Excel dosyasındaki tüm çalışma sayfalarını dolaşır, her sayfa için ayrı CSV dosyaları oluşturur. Sayfa adları dosya adlarında korunarak, her bir CSV dosyasının kaynağını tanımak kolaylaştırılır. IronXL, XLSX, XLS, XLSM ve XLTX gibi çeşitli Excel formatlarını destekler, farklı Excel sürümleri ve kullanım durumlarıyla geniş bir uyumluluk sağlar. Belgelerde formatlar arasında dönüştürme hakkında daha fazla bilgi edinin.

Gelişmiş CSV Yönetim Teknikleri

Temel CSV oluşturmanın ötesinde, IronXL, genellikle üretim ortamlarında ortaya çıkan karmaşık senaryoları ele almak için sofistike özellikler sunar. Bu yetenekler, basit dosya yazma yaklaşımlarından farklıdır.

Özel karakterlerle uğraşırken, IronXL kaçış ve kodlamayı otomatik olarak halleder:

WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Data");
// Data with special characters
sheet["A1"].Value = "Company \"ABC\", Inc.";  // Quotes
sheet["B1"].Value = "Line 1\nLine 2";        // Newlines
sheet["C1"].Value = "Price: €50,00";         // Unicode characters
workbook.SaveAsCsv("special_chars.csv");

IronXL, alıntıları doğru bir şekilde kaçar, çok satırlı içeriği idare eder ve Unicode karakterlerini korur. Bu otomatik işleme, manuel dize manipülasyonu yaklaşımlarıyla ortaya çıkan yaygın CSV ayrıştırma hatalarını önler.

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 11 - Özel Karakterler Çıkışı

Toplu işleme senaryoları için, birden fazla dosyayı verimli bir şekilde işleyebilirsiniz:

string[] sourceFiles = Directory.GetFiles("input_folder", "*.xlsx");
foreach (string file in sourceFiles)
{
    WorkBook wb = WorkBook.Load(file);
    var csv = Path.ChangeExtension(file, ".csv");
    wb.SaveAsCsv(csv);
}

Büyük veri kümelerini işlerken bellek verimliliği çok önemli hale gelir. IronXL dahili bellek kullanımını optimize eder, ancak verileri parça parça işleyerek ve kaynakları doğru bir şekilde tahliye ederek performansı daha da artırabilirsiniz:

WorkBook largeWorkbook = WorkBook.Create();
WorkSheet sheet = largeWorkbook.CreateWorkSheet("LargeData");
// Process in batches
const int batchSize = 1000;
for (int batch = 0; batch < 10; batch++)
{
    for (int row = 0; row < batchSize; row++)
    {
        int actualRow = (batch * batchSize) + row;
        sheet.SetCellValue(actualRow, 0, $"Row {actualRow}");
        // Add more data...
        sheet.SetCellValue(actualRow, 1, DateTime.Now);
        sheet.SetCellValue(actualRow, 2, $"Batch {batch + 1}");
    }
}
largeWorkbook.SaveAsCsv("large_dataset.csv");

Çıktı

C# IronXL kullanarak CSV Formatında Kaydetme: Resim 12 - Büyük Veri Seti Çıkışı

Sonuç

IronXL, CSV dosya yönetimini C#'ta karmaşık bir görevden basit bir sürece dönüştürür. Hem CSV hem de Excel işlemleri için birleşik bir API sunarak, birden fazla kütüphane veya karmaşık ayrıştırma mantığına duyulan ihtiyacı ortadan kaldırır. Kütüphanenin özel karakterler, veri türleri ve kodlama sorunlarının otomatik işlenmesi, farklı sistemler ve yerel ayarlarda güvenilir veri dışa aktarmayı sağlar.

İster raporlama sistemleri, veri entegrasyon hatları, isterse basit dışa aktarma özellikleri oluşturuyor olun, IronXL, verimli CSV yönetimi için gereken araçları sunar. Mevcut Excel dosyaları ve DataTable yapıları ile uyumluluğu, önemli yeniden yapılandırmalara gerek kalmadan mevcut uygulamalara entegrasyonu kolaylaştırır. CSV dosyalarınız oluşturulduktan sonra, hızlı doğrulama veya sorun giderme için Excel'de doğrudan açabilir veya herhangi bir metin düzenleyici kullanarak ham formatlarını inceleyebilirsiniz.

CSV operasyonlarınızı kolaylaştırmaya hazır mısınız? ücretsiz deneme ile başlayın veya daha gelişmiş özellikler keşfetmek için kapsamlı API dökümantasyonu'nu inceleyin. Üretim dağıtımları için, lisanslama $999 seviyesinde başlar ve profesyonel destek ve güncellemeleri içerir.

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