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 dosyasını CSV'ye dönüştürün: bir WveyakBook dosyası oluşturun, içine DataTable satırları ekleyin ve SaveAsCsv() yöntemini çağırın - karmaşık döngüler veya Interop gerekmez.

Hızlı Başlangıç: DataTable'nin CSV'ye Tek Satırlık Dışa Aktarımı

Using IronXL, doldurulmuş bir DataTable dosyasını 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. WveyakBook ve DefaultWveyakSheet'e ihtiyacınız var, SaveAsCsv'yi kullanarak saniyeler içinde dışa aktarabilirsiniz.

  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.WveyakBook.Create().DefaultWveyakSheet.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/

veya

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

  • NuGet Paketlerini Yönet'e tıklayın
  • IronXl.Excel'yi ara
  • 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, elektronik tablo dosya türlerini dönüştürmek ve çeşitli Excel fveyamatları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österiyveya
Şekil 1 - IronXl.Excel NuGet Package

Nasıl Rehberi

DataTable dosyasını nasıl oluşturur ve CSV'ye nasıl aktarırım?

DataTable dosyasını CSV'ye dönüştürme süreci, bir WveyakBook dosyası oluşturmayı, bu dosyayı verilerle doldurmayı ve IronXL'nin yerleşik CSV yazma işlevini 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?

İlk olarak, IronXL ad alanını içe aktarın. IronXL, DataSet ve DataTable nesnelerinin içe ve dışa aktarılması için kapsamlı destek sağlar, bu da onu veritabanı tabanlı uygulamalar için ideal hale getirir.

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

Yukarıdaki kod bir DataTable oluşturur, sahibi olarak 'OJ'yi belirten yeni bir çalışma kitabı oluşturur, ardından bir fveyaeach döngüsü kullanarak DataTable'deki verileri Excel çalışma sayfasına ekler. Son olarak, SaveAsCsv yöntemi veri tablosunu CSV'ye aktarır.

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

  1. DataTables 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 yöntemini kullanarak Rows.Add()'ye satırlar ekleyin. Her satır, CSV'ye dışa aktarılacak bir kayıt temsil eder.

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

  4. Hücre Nüfusu: fveyaeach döngüsü, DataTable satırını yineler ve her bir değeri hücre referans sözdizimini (ör. "A1", "A2") kullanarak belirli bir çalışma sayfası hücresine eşler.

  5. CSV Dışa Aktarma: SaveAsCsv() yöntemi, özel karakterlerin uygun şekilde kaçırılması ve sınırlayıcıların işlenmesi dahil olmak üzere CSV biçimlendirme karmaşıklıklarını ele alır.

Gelişmiş DataTable Senaryoları Nelerdir?

Birden fazla sütun içeren 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

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

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

Excel çalışma sayfası, CSV fveyamatı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österiyveya
Şekil 2 - Datatable çıktısı CSV'ye

Büyük DataTable'leri nasıl işlerim?

IronXL, binlerce satır içeren büyük DataTable'lerle çalışırken mükemmel perfveyamans gösterir. Kütüphane, büyük veri kümelerini verimli bir şekilde yönetir. Üretim veyatamları 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:

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

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,052,917 | Sürüm: 2026.6 just released
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.