How to Use C# to Convert Datatable to CSV

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL kullanarak C#'da bir DataTable'yi CSV'ye dönüştürün; WorkBook yaratarak, DataTable satırlarıyla doldurarak ve SaveAsCsv() metodunu çağırarak - karmaşık döngüler veya Interop gerekmez.

Hızlı Başlangıç: DataTable'nin CSV'ye Tek Satırda İhracı

Dolu bir DataTable'yi bir metod çağrısı ile CSV dosyasına dönüştürmek için IronXL kullanın — döngü yok, Interop yok, karmaşıklık yok. Sadece bir WorkBook ve onun DefaultWorkSheet'sine ihtiyacınız var; SaveAsCsv kullanarak saniyeler içinde ihraç edebilirsiniz.

  1. IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronXL.Excel
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    IronXL.WorkBook.Create().DefaultWorkSheet.SaveAsCsv("output.csv", ",");
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronXL kullanmaya başlayın

    arrow pointer

Adım 1

IronXL'i Projeme Nasıl Kurarım?

IronXL'yi uygulamalarınızda kullanmadan önce yüklemelisiniz. IronXL, projeleriniz için birden fazla kurulum seçeneği sunar. IronXL, C# ile Excel dosyalarıyla çalışmayı Microsoft Excel veya Interop kurulumu gerektirmeden basitleştiren bir kütüphanedir.

Hangi Kurulum Yöntemini Kullanmalıyım?

Resmi siteden aşağıdaki bağlantıyı kullanarak indirin: https://ironsoftware.com/csharp/excel/docs/

or

Visual Studio'da, Proje menüsünü seçin

  • NuGet Paketlerini Yönet'e tıklayın
  • IronXL.Excel için arama yapın
  • Yükle'ye tıklayın

Hangi NuGet Komutunu Kullanmalıyım?

Install-Package IronXL.Excel

NuGet Paket Yöneticisini Neden Seçmelisiniz?

NuGet, bağımlılıkları otomatik olarak yönettiği ve kütüphaneleri güncel tuttuğu için .NET geliştiricileri tarafından tercih edilen bir yöntemdir. IronXL paketi, hesap tablosu dosya türlerini dönüştürmek ve çeşitli Excel formatlarıyla çalışmak için gerekli tüm bileşenleri içerir.

IronXL.Excel NuGet Paketi kurulum penceresi, paket detaylarını, sürüm bilgilerini ve Visual Studio Paket Yöneticisi'nde yükleme butonunu gösteriyor
Şekil 1 - IronXL.Excel NuGet Package

Nasıl Rehberi

CSV'ye DataTable Nasıl Oluşturulur ve İhraç Edilir?

Bir DataTable'yi CSV'ye dönüştürme işlemi, bir WorkBook oluşturmayı, veriyle doldurmayı ve IronXL'ın yerleşik CSV yazma işlevselliğini kullanmayı içerir. Bu yaklaşım, elle CSV dizileri oluşturmaktan veya geleneksel dosya akışı yöntemlerini kullanmaktan daha verimlidir.

Hangi Namespace'i İçe Aktarmalıyım?

Önce, IronXL namespace'i içe aktarın. IronXL, veritabanı odaklı uygulamalar için ideal hale gelerek DataSet ve DataTable nesnelerinin içe aktarımı ve ihraç edilmesi için kapsamlı destek sağlar.

:path=/static-assets/excel/content-code-examples/how-to/csharp-datatable-to-csv-3.cs
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Tam Kod Örneği Nedir?

Aşağıdaki kodu ekleyin:

:path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs
using IronXL;
using System;
using System.Data;

// Create a new DataTable object
DataTable table = new DataTable();

// Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", typeof(string));

// Add rows to the DataTable
table.Rows.Add("0");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");

// Create a new Excel workbook and set its author metadata
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "OJ";

// Get the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;

// Initialize rowCounter for Excel sheet rows
int rowCount = 1;

// Loop through each row in the DataTable and add the data to the Excel worksheet
foreach (DataRow row in table.Rows)
{
    // Populate worksheet cells with data from DataTable
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}

// Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv
Imports IronXL
Imports System
Imports System.Data

' Create a new DataTable object
Dim table As New DataTable()

' Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", GetType(String))

' Add rows to the DataTable
table.Rows.Add("0")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")
table.Rows.Add("1")
table.Rows.Add("2")
table.Rows.Add("3")

' Create a new Excel workbook and set its author metadata
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "OJ"

' Get the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet

' Initialize rowCounter for Excel sheet rows
Dim rowCount As Integer = 1

' Loop through each row in the DataTable and add the data to the Excel worksheet
For Each row As DataRow In table.Rows
    ' Populate worksheet cells with data from DataTable
    ws("A" & rowCount).Value = row(0).ToString()
    rowCount += 1
Next

' Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv
$vbLabelText   $csharpLabel

Kod Adım Adım Nasıl Çalışır?

Yukarıdaki kod, bir DataTable yaratır, 'OJ'yi sahibi olarak belirten yeni bir çalışma kitabı oluşturur, ardından DataTable'dan gelen verileri Excel çalışma sayfasına eklemek için bir foreach döngüsünü kullanır. Son olarak, SaveAsCsv metodu veri tablosunu CSV'ye ihraç eder.

Süreç adım adım açıklanmıştır:

  1. DataTable Oluşturma: Yeni bir DataTable başlatın ve sütunlar ekleyerek şemasını tanımlayın. Bu, bir veritabanı tablosu yapısını tanımlamaya benzer.

  2. Veri Doldurma: DataTable'ya satırlar ekleyin, Rows.Add() metodunu kullanarak. Her satır, CSV'ye dışa aktarılacak bir kayıt temsil eder.

  3. Çalışma Kitabı Oluşturma: IronXL'ın WorkBook.Create() metodu yeni bir Excel çalışma kitabı başlatır. Gerekirse, birden fazla çalışma sayfası ile elektronik tablolar oluşturabilirsiniz.

  4. Hücre Doldurma: Foreach döngüsü DataTable satırları boyunca iterasyon yapar ve her değeri hücre referans söz dizimi (örneğin, 'A1', 'A2') kullanarak belirli bir çalışma sayfası hücresine eşler.

  5. CSV İhracı: SaveAsCsv() metodu, özel karakterlerin doğru kaçışları ve ayırıcı işlemesi dahil CSV biçimlendirme karmaşıklıklarını ele alır.

Gelişmiş DataTable Senaryoları Nelerdir?

Birden fazla sütuna sahip karmaşık DataTable'larda kodu şu şekilde genişletin:

// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));

--snip--
workbook.SaveAsCsv("products.csv", ",");
// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));

--snip--
workbook.SaveAsCsv("products.csv", ",");
' Create a DataTable with multiple columns
Dim advancedTable As New DataTable()
advancedTable.Columns.Add("ID", GetType(Integer))
advancedTable.Columns.Add("Name", GetType(String))
advancedTable.Columns.Add("Price", GetType(Decimal))

' --snip--
workbook.SaveAsCsv("products.csv", ",")
$vbLabelText   $csharpLabel

Çıkış Nasıl Görünür?

Çıktı Excel çalışma sayfası şu şekilde görünür:

Excel çalışma sayfası, CSV formatında dışa aktarılan DataTable değerlerini ve A1'den A7'ye kadar sırayla sayısal değerler içeren hücreleri gösteriyor
Şekil 2 - Datatable çıktısı CSV'ye

Büyük DataTable'ları Nasıl Ele Alırım?

Binlerce satır içeren büyük DataTable'lerle çalışırken, IronXL mükemmel performansı korur. Kütüphane, büyük veri kümelerini verimli bir şekilde yönetir. Üretim ortamları için, filigranları kaldırmak ve tam işlevsellik sağlamak adına lisans anahtarınızı uygulayın.

Hata Yönetimi Nasıl Yapılır?

Dosya işlemleri yaparken her zaman doğru hata yönetimini uygulayın:

:path=/static-assets/excel/content-code-examples/how-to/csharp-datatable-to-csv-6.cs
try 
{
    // Your DataTable to CSV conversion code
    WorkBook wb = WorkBook.Create();
    // ... rest of the code
    wb.SaveAsCsv("output.csv", ",");
    Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Error creating CSV: {ex.Message}");
}
Imports System

Try
    ' Your DataTable to CSV conversion code
    Dim wb As WorkBook = WorkBook.Create()
    ' ... rest of the code
    wb.SaveAsCsv("output.csv", ",")
    Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
    Console.WriteLine($"Error creating CSV: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Kütüphaneye Hızlı Erişim

IronXL API Referans Belgelendirmesi

IronXL API Referans Belgelendirmesi'ni kullanarak, Excel elektronik tablolarında hücreleri birleştirme, ayırma ve çalışma konularını öğrenin ve paylaşın.

IronXL API Referans Belgelendirmesi
Documentation related to Kütüphaneye Hızlı Erişim

Sıkça Sorulan Sorular

Karmaşık döngüler yazmadan C#'ta DataTable'ı CSV'ye nasıl dönüştürürüm?

IronXL, DataTable'ı CSV'ye dönüştürmek için basit bir tek satır çözümü sunar. Bir Çalışma Kitabı oluşturduktan ve onu DataTable verilerinizle doldurduktan sonra, SaveAsCsv() metodunu kullanarak döngüler yazmak veya Interop kullanmadan doğrudan CSV formatına aktarımda bulunabilirsiniz.

DataTable'dan CSV'ye dönüştürme kütüphanesi için kurulum seçenekleri nelerdir?

IronXL, Visual Studio'da NuGet Paket Yöneticisi aracılığıyla 'IronXL.Excel' aranarak veya NuGet komut satırı kullanılarak kurulabilir. Bu, bağımlılıkları otomatik olarak yönettiği ve kütüphaneyi güncel tuttuğu için tercih edilen yöntemdir.

DataTable'ı CSV'ye dönüştürmek için Microsoft Excel kurulumu bana gerekli mi?

Hayır, IronXL, Microsoft Excel veya Interop kurulumu gerektirmeden bağımsız olarak çalışır. C# uygulamalarında Excel dosyaları ve CSV aktarımlarıyla çalışırken kolaylık sağlayan bağımsız bir kütüphanedir.

DataTable'dan CSV'ye dönüştürme için hangi alanı ithal etmem gerekiyor?

C# dosyanızın üst kısmına 'using IronXL;' ekleyerek IronXL ad alanını ithal etmeniz gerekir. Bu, DataSet ve DataTable nesnelerinin ithalatı ve ihracatı için kapsamlı destek sağlar.

CSV'ye aktarırken özel bir ayıraç belirleyebilir miyim?

Evet, IronXL'in SaveAsCsv() metodu özel bir ayıraç belirtmenize izin verir. Örnek kodda bir virgül (",") ayıraç olarak kullanılır, ancak gereksinimlerinize uygun herhangi bir karakteri değiştirebilirsiniz.

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ı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,134,203 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronXL.Excel
örnek çalıştır verinizin bir hesap tablosu haline geldiğini izleyin.