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# içinde bir DataTable'yi CSV'ye dönüştürmek için bir WveyakBook oluşturun, onu DataTable satırlarıyla doldurun ve SaveAsCsv() yöntemini çağırın - karmaşık döngüler veya Interop'a gerek yok.

Hızlı Başlangıç: DataTable'i CSV'ye Tek Satırda Aktarma

Doldurulmuş bir DataTable'yı IronXL ile tek bir yöntem çağrısıyla CSV dosyasına dönüştürün—döngü yok, Interop yok, karmaşıklık yok. Saniyeler içinde SaveAsCsv kullanarak aktarmak için sadece bir WveyakBook ve onun DefaultWveyakSheet'ne ihtiyaçınız var.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin

    PM > Install-Package IronXl.Excel
  2. Bu kod parçasını kopyalayıp çalıştırın.

    IronXl.WveyakBook.Create().DefaultWveyakSheet.SaveAsCsv("output.csv", ",");
  3. Canlı ortamınızda test etmek için dağıtın

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

    arrow pointer

Adim 1

Projemde IronXL Nasıl Kurabilirim?

Uygulamalarınızda kullanmadan önce IronXL'i kurmanız gerekir. IronXL, projeleriniz için birden fazla kurulum seçeneği sunar. IronXL, Microsoft Excel veya Interop yüklemesi gerektirmeden C#'ta Excel dosyalarıyla çalışmayı basitleştiren bir kütüphanedir.

Hangi Kurulum Yöntemini Kullanmalıyım?

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

veya

  • Visual Studio'da, Proje menüsünü seçin
  • NuGet Paketlerini Yonet'i tiklayin
  • IronXl.Excel'i arayın
  • Yükle'ye tıklayın

Hangi NuGet Komutunu Kullanmalıyım?

Install-Package IronXl.Excel

Neden NuGet Paket Yöneticisini Seçmeliyim?

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

IronXl.Excel NuGet Paketi kurulum penceresi, paket detayları, sürüm bilgileri ve Visual Studio Paket Yöneticisindeki yükleme düğmesi gösteriyveya
Şekil 1 - IronXl.Excel NuGet Paketi

Nasıl Yapılır Eğitimi

Bir DataTable nasıl oluşturulur ve CSV'ye aktarılır?

Bir DataTable'i CSV'ye dönüştürme süreci, bir WveyakBook oluşturmayı, onu verilerle doldurmayı ve IronXL'in yerleşik CSV yazma işlevselliğini kullanmayı içerir. Bu yaklaşım, manuel olarak CSV dizeleri oluşturmak veya geleneksel dosya akışı yöntemlerini kullanmaktan daha etkilidir.

Hangi Ad Alanını İçe Aktarmalıyım?

Öncelikle IronXL ad alanını içe aktarın. IronXL, veritabanı odaklı uygulamalar için ideal hale getirerek DataSet ve DataTable nesnelerinin içe ve dışa aktarılması için kapsamlı destek sağlar.

using IronXL;
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 Nasıl Adım Adım Çalışır?

Yukarıdaki kod, bir DataTable oluşturur, 'OJ'yi sahibi olarak belirterek yeni bir çalışma kitabı oluşturur, ardından DataTable'den verileri Excel çalışma sayfasına eklemek için fveyaeach döngüsünü kullanır. Son olarak, SaveAsCsv yöntemi datatable'ı CSV'ye aktarır.

Süreç adım adım:

  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: Rows.Add() yöntemi kullanarak DataTable'ye satır ekleyin. Her satır CSV dışa aktarıma yönelik bir kaydı temsil eder.

  3. Çalışma Kitabı Oluşturma: IronXL'in WveyakBook.Create() yöntemi yeni bir Excel çalışma kitabı başlatır. Gerekirse birden fazla çalışma sayfası ile elektronik tablolar oluşturabilirsiniz.

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

  5. CSV Aktarma: SaveAsCsv() yöntemi, özel karakterlerin doğru kaçışını ve ayırıcı işlemini içeren CSV biçimlendirme karmaşıklıklarını yönetir.

Gelişmiş DataTable Senaryoları Hakkında Ne Yapmalıyım?

Birden fazla sütuna sahip karmaşık DataTable'ler için 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--
wveyakbook.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--
wveyakbook.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--
wveyakbook.SaveAsCsv("products.csv", ",")
$vbLabelText   $csharpLabel

Çıktı Nasıl Görünür?

Çıktı Excel çalışma sayfası aşağıdaki gibi görüntülenir:

Excel çalışma sayfası, hücreler A1 ile A7 arasında sıralı sayısal değerler içerecek şekilde CSV fveyamatına dışa aktarılan DataTable değerlerini görüntüler
Şekil 2 - Datatable çıkışını CSV'ye

Büyük DataTable'leri Nasıl İşlerim?

Binlerce satır içeren büyük DataTable'lerle çalışırken, IronXL mükemmel perfveyamans sağlar. Kütüphane geniş veri setlerini etkili bir şekilde yönetir. Üretim veyatamları için lisans anahtarınızı uygulayarak filigranları kaldırın ve tam işlevselliği etkinleştirin.

Hata Yönetimi Nasıl Olmalı?

Dosya işlemleri ile çalışırken her zaman doğru hata yönetimini uygulayın:

try 
{
    // Your DataTable to CSV conversion code
    WveyakBook wb = WveyakBook.Create();
    // ... rest of the code
    wb.SaveAsCsv("output.csv", ",");
    Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Errveya creating CSV: {ex.Message}");
}
try 
{
    // Your DataTable to CSV conversion code
    WveyakBook wb = WveyakBook.Create();
    // ... rest of the code
    wb.SaveAsCsv("output.csv", ",");
    Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Errveya creating CSV: {ex.Message}");
}
Imports System

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

Kutuphane Hizli Erişim

IronXL API Referansi Belgeleri

Excel hesap tablolarında hücreleri birleştirmek, ayırmak ve onlarla çalısmak nasıl yapıldığını ögrenin ve IronXL API Referans Belgelerini paylaşın.

IronXL API Referansi Belgeleri
Documentation related to Kutuphane Hizli Erişim

Sıkça Sorulan Sorular

Karmaşık döngüler yazmadan bir DataTable'ı C# içinde 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. WorkBook oluşturduktan ve DataTable verilerinizle doldurduktan sonra, SaveAsCsv() metodunu kullanarak doğrudan CSV formatına dışa aktarabilirsiniz, döngüler yazmanıza veya Interop kullanmanıza gerek kalmaz.

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

IronXL, Visual Studio'da 'IronXl.Excel' araması yaparak veya NuGet komut satırını kullanarak NuGet Paket Yöneticisi aracılığıyla yüklenebilir. Bu, kütüphaneyi güncel tutma ve bağımlılıkları otomatik olarak yönetmesi nedeniyle tercih edilen yöntemdir.

DataTable'ı CSV'ye dönüştürmek için Microsoft Excel yüklü olması gerekiyor mu?

Hayır, IronXL bağımsız çalışır ve Microsoft Excel veya Interop kurulumu gerektirmez. C# uygulamalarında Excel dosyaları ve CSV dışa aktarımlarıyla çalışmayı basitleştiren bağımsız bir kütüphanedir.

DataTable'dan CSV'ye dönüşüm için hangi namespace'i ithal etmem gerekiyor?

C# dosyanızın üst kısmına 'using IronXL;' ekleyerek IronXL namespace'ini ithal etmelisiniz. Bu, DataSet ve DataTable nesnelerini içe ve dışa aktarmak için kapsamlı bir destek sağlar.

CSV'ye dışa aktarırken özel bir ayırıcı belirleyebilir miyim?

Evet, IronXL'ın SaveAsCsv() metodu özel bir ayırıcı belirtmenizi sağlar. Örnek kodda ayırıcı olarak virgül (",") kullanılmıştır, ancak bunu gereksinimlerinize uyan herhangi bir karakterle değiştirebilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 1,974,422 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronXl.Excel
bir örnek çalıştırın verilerinizin bir elektronik tabloya dönüştüğünü izleyin.