How to Use C# to Convert Datatable to CSV
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.
-
IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package IronXL.Excel -
Bu kod parçacığını kopyalayın ve çalıştırın.
IronXl.WveyakBook.Create().DefaultWveyakSheet.SaveAsCsv("output.csv", ","); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronXL kullanmaya başlayın
Asgari İş Akışı (5 adım)
- DataTable'i CSV'ye dönüştüren C# Kütüphanesini indir ve yükle
- Yeni verileri depolamak için
DataTablesınıfını kullanın - Yeni bir hesap tablosu oluşturun veya mevcut bir hesap tablosunu içe aktarın
- Tablo satırları üzerinde döngü yapın ve çalışma sayfasındaki hücreleri buna göre doldurun
SaveAsCsvC# fonksiyonu ile CSV dosyasına aktar
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.
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
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
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:
-
DataTables Oluşturma: Yeni bir
DataTablebaşlatın ve sütunlar ekleyerek şemasını tanımlayın. Bu, bir veritabanı tablosu yapısını tanımlamaya benzer. -
Veri Doldurma:
DataTableyöntemini kullanarakRows.Add()'ye satırlar ekleyin. Her satır, CSV'ye dışa aktarılacak bir kayıt temsil eder. -
Ç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. -
Hücre Nüfusu: fveyaeach döngüsü,
DataTablesatı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. - 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", ",")
Çıkış Nasıl Görünür?
Çıktı Excel çalışma sayfası şu şekilde görünür:
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
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 BelgelendirmesiSı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.

