IRONSOFTWAREHOME
IRONXL KULLANARAK

IronXL ile C#'da Verileri CSV'ye Nasıl Kaydedersiniz

Curtis Chau
Curtis Chau
Updated: 18 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# ile IronXL kullanarak CSV'ye Veri 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# ile IronXL kullanarak CSV'ye Veri 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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Resim 3 - Kurulum

.NET CLI üzerinden:

dotnet add package IronXL.Excel

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

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 string firstname, public string lastname
    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'in WorkBook ve WorkSheet API'leri, bellekte yapılandırılmış bir elektronik tablo 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, veriler SaveAsCsv() kullanılarak CSV dosyası olarak kaydedilir.

Çıktı

C# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 4 - Konsol Çıkışı

C# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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() metodu, hafızada yeni bir elektronik tablo 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, herhangi bir özel karakteri nasıl kaçacağını ve veri bütünlüğünü nasıl koruyacağını uygun şekilde halleder.

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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 9 - Örnek Girdi

Çıktı

C# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 10 - Excel'den CSV'ye Çı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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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# ile IronXL kullanarak CSV'ye Veri Kaydetme: Şekil 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 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