Altbilgi içeriğine atla
IRONXL KULLANARAK

C#'ta 'DataTable' CSV'ye Nasıl Dışa Aktarılır

IronXL, Microsoft Excel kurulumu gerektirmeden C# dilinde DataTable ile CSV'ye sorunsuz dönüştürme sağlar. Bu bağımsız .NET kütüphanesi, geliştiriciler için veri dışa aktarımını kolaylaştırarak, özel yapılar ve ayraçlar kullanarak DataTables'yı otomatik olarak CSV dosyalarına dönüştürmek için basit bir API sağlar.

IronXL, geliştiricilere C# .NET teknolojilerini kullanarak Microsoft Excel belgeleri ile etkileşimde bulunma olanağı sağlayan popüler bir kütüphanedir, CSV dosyaları dahil olmak üzere, Microsoft Excel'in kurulmasına gerek kalmadan. Kayıtlı türlerin CSV dosyalarına otomatik dönüşümünü ve özel yapılarla CSV dosyalarının yazılmasını sağlıyor.

IronXL Kütüphanesi Hangi Özellikleri Sunar?

Microsoft Excel belgeleri, C# IronXL .NET kütüphanesini kullanarak okunabilir ve CSV dosyalarına dönüştürülebilir. IronXL, çeşitli hesap tablosu formatlarını okuyabilen bağımsız bir .NET yazılım kütüphanesidir. Bu, Microsoft.Office.Interop.Excel'a bağımlı değildir ve Microsoft Excel kurulumu gerektirmez.

IronXL'un kullanıcı dostu C# API'si yardımıyla, .NET ortamında Excel hesap tablosu dosyalarını hızlıca okuyabilir, değiştirebilir ve oluşturabilirsiniz. .NET Core, .NET Framework, Xamarin, Mobil, Linux, macOS ve Azure tarafından tamamen desteklenmektedir.

  • C# için önde gelen .NET Core ve .NET Framework Excel hesap tablosu kütüphaneleri IronXL'u içerir.
  • Console, Windows Forms ve Web Uygulamaları dahil neredeyse tüm .NET Framework'ler desteklenir.
  • IronXL, Windows, Linux ve macOS işletim sistemlerinde çalışır.
  • IronXL, Excel dosyalarını okumayı kolay ve hızlı hale getirir.
  • IronXL, birden fazla Excel biçimini destekler: XLSX, XLS, CSV, TSV, XLST ve XLSM dosyaları.
  • IronXL, dosyaları çeşitli formatlarda dışa aktarır: XLS, CSV, TSV, JSON ve XML.
  • IronXL, Excel hesaplamaları oluşturur ve formülleri destekler.
  • IronXL, metin, sayılar, tarihler, para birimleri ve yüzdeler dahil olmak üzere Excel sütun veri formatlarını destekler.

Daha fazla ayrıntı için IronXL dökümantasyon genel bakışına bakın.

Visual Studio'da Nasıl Yeni Proje Oluştururum?

Visual Studio'da, IronXL framework'ü kullanılmadan önce bir .NET projesi oluşturulmalıdır. Visual Studio'nun herhangi bir sürümü çalışır, ancak en yeni sürüm önerilir. İhtiyacınıza bağlı olarak, bir Windows Forms uygulaması veya farklı proje şablonları oluşturabilirsiniz. Basit tutmak için, bu eğitimde Konsol Uygulaması kullanılacaktır.

Visual Studio'nun Yeni Proje Oluşturma diyalog kutusu, Konsol Uygulaması, ASP.NET Core Web Uygulaması ve Blazor Sunucu Uygulaması seçeneklerini içeren çeşitli .NET proje şablonlarını gösteriyor. Visual Studio'da yeni proje oluşturun

Ardından, projenin adını ve konumunu girin.

Visual Studio proje yapılandırma diyalog kutusu, 'ConsoleApp1' proje adı ile yeni bir C# Konsol Uygulaması kurulumunu, Windows'u hedeflemeyi ve Konsol çıktısını gösteriyor. Yeni projeyi yapılandırın

Sonraki olarak, aşağıdaki yapıyı seçin. Bu projede .NET Core 6 kullanılacaktır.

Visual Studio proje oluşturma diyalog kutusu, .NET 6.0 (Uzun süreli destek) framework'ünün seçili olduğu Konsol Uygulaması yapılandırmasını gösteriyor. .NET Framework sürümünü seç

Uygulama çözümü oluşturduktan sonra program.cs dosyası açılacak, böylece program kodunu girebilir ve uygulamayı oluşturup çalıştırabilirsiniz.

Visual Studio'daki boş C# konsol uygulama penceresi, CSV dışa aktarma işlevselliğini uygulamaya hazır bir başlangıç kodu yapısıyla IronXLConsole projesini gösteriyor. Yeni oluşturulan Konsol Uygulaması projesi

Kütüphane daha sonra eklenebilir ve kodu değerlendirmek için kullanılabilir. Diğer proje türleri için, .NET MAUI uygulamaları veya VB.NET projeleri gibi, süreç benzerdir ancak framework'e özgü dikkate alınması gereken durumlar bulunur.

IronXL Kütüphanesini Nasıl Yüklerim?

IronXL Kütüphanesini indirip yüklemek için dört yöntem vardır.

Bunlar:

  • Visual Studio aracılığıyla yükleme
  • Visual Studio Paket Yöneticisi Konsolu kullanarak yükleme
  • NuGet web sitesinden doğrudan indirme
  • IronXL web sitesinden doğrudan indirme

Visual Studio Kurulumu için Hangi Yöntemi Kullanmalıyım?

NuGet Paket Yöneticisini kullanarak IronXL modülü yüklenebilir. IronXL'u bulmak için önce NuGet Paket Yöneticisini başlatmalısınız ve ardından tarama paneline bakmalısınız. Arama listelerinden IronXL'yi seçerek yükleyin. Bundan sonra, IronXL kütüphanesi bu uygulamayı kullanabilir hale gelecektir.

Aşağıdaki resim, Visual Studio'nun NuGet Paket Yöneticisini başlatmanın nasıl yapılacağını göstermektedir.

NuGet Paket Yöneticisi seçeneğini gösteren genişletilmiş Visual Studio Araçlar menüsü ve Araçlar açılır menüsünde Paket Yöneticisi Konsolu vurgulanmış. NuGet Paket Yöneticisine Git

NuGet Paket Yöneticisi arayüzü, 2022.3.0 sürümüyle IronXL.Excel paketini, 133K indirme sayısını ve kolay entegrasyon için Yükle butonunu gösteriyor. NuGet Paket Yöneticisi UI'de IronXL paketini yükleyin

Paket Yöneticisi Konsolu Ne Zaman Kullanılmalıdır?

Birçok geliştirici görevleri yerine getirirken bir konsolu tercih eder. Dolayısıyla, terminal kurulumu da bir seçenektir. Çizgi komutu kullanarak IronXL'i yüklemek için aşağıdaki talimatlara uyun.

  • Visual Studio'da Tools > NuGet Package Manager > Package Manager arayüzüne gidin.
  • Paket yöneticisi konsol sekmesine şu komutu girin:

    Install-Package IronXL.Excel
  • IronXL'nin aktif projeye indirilip yüklenmesi için bekleyin.

Visual Studio'daki Paket Yöneticisi Konsolu, '`Install-Package IronXL.Excel`' komutunu ve başarılı kurulum onay mesajlarını gösteriyor. Paket Yöneticisi Konsolu UI'de IronXL paketini yükleyin

NuGet Web Sitesinden Neden İndiririm?

NuGet paketi, üçüncü bir seçenek olarak web sitesinden doğrudan indirilebilir. Bu yöntem, sınırlı internet erişiminin olduğu ortamlarla çalışırken veya paketleri manuel yönetmeniz gerektiği durumlarda özellikle kullanışlıdır.

  • resmi NuGet linkine gidin.
  • İndirme paketi seçeneği sağdaki menüde bulunabilir.
  • Kaydedilen dosyayı iki kez tıklayın. Hemen yüklenir.
  • Bundan sonra çözümü yeniden yükleyin ve projede kullanmaya başlayın.

IronXL Web Sitesinden Doğrudan Nasıl Yüklerim?

IronXL ZIP dosyasını indirmek için, en yeni paketi doğrudan web sitesinden indirmek için bu linke tıklayın. Bu link, IronXL kütüphanesinin son sürümünü içeren bir ZIP dosyasını indirir. İndirme biter bitmez, ZIP dosyasının içeriğini seçtiğiniz herhangi bir dizine çıkarın.

Dosyayı indirdikten sonra projeye eklemek için aşağıda listelenen adımlara uyun.

  • Çözüm penceresinden projeye sağ tıklayın.
  • Referansları seçin ve ardından IronXL DLL'lerini içeren klasöre gidin.
  • DLL'i seçin ve aktif projeye Referans olarak eklemek için Tamam'a tıklayın.

Dağıtım senaryoları için IronXL'i Docker konteynerlarına kurabilir veya AWS Lambda ve Azure Functions gibi bulut platformlarına dağıtabilirsiniz.

DataTable'yı CSV Dosyasına Nasıl Dışa Aktarırım?

DataTables, IronXL kullanılarak kolayca ve hızlıca CSV dosyalarına dışa aktarılabilir. Verileri yeni CSV dosyalarına destek ile özel ayraçlar ve kodlama seçenekleri ile yazmasına yardımcı olur.

Öncelikle, aşağıda gösterilen kod görselinde olduğu gibi, IronXL sınıfları ve yöntemlerini kullanmak için IronXL ad alanı dahil edilmelidir.

C# kod düzenleyicisi, 'using IronXL;' ve 'using System.Data;' isim alanı bildirimlerini, DataTable'dan CSV'ye dışa aktarma uygulaması için sözdizimi vurgulama ile gösteriyor. Yaygın ad alanlarını ekleyin

Excel dosyaları IronXL kullanılarak oluşturulabilir ve ardından WorkBook nesnelerine dönüştürülür. Ardından bu nesneler üzerinde çeşitli işlemler gerçekleştirin. Aşağıdaki örnek kod, bir DataTable'yı Excel çalışma sayfasına dönüştürerek bir Excel dosyası oluşturacak.

using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
Imports IronXL
Imports System.Data

' Entry point of the application
Shared Sub Main(ByVal args() As String)
	' Specify the file path for the CSV file output
	ExportToExcel("H:\test.csv")
End Sub

' Exports the DataTable to an Excel file and saves it as CSV
Public Shared Sub ExportToExcel(ByVal filepath As String)
	' Create a DataTable and add columns and rows
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Fruits", GetType(String))
	table.Rows.Add("Apple")
	table.Rows.Add("Orange")
	table.Rows.Add("Strawberry")
	table.Rows.Add("Grapes")
	table.Rows.Add("Watermelon")
	table.Rows.Add("Bananas")
	table.Rows.Add("Lemons")

	' Create a new WorkBook and add the DataTable data to it
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		' Write each item from the DataTable into the worksheet starting from cell A1
		writer("A" & (rowCount)).Value = row(0).ToString()
		rowCount += 1
	Next row
	' Save the workbook as a CSV file with a specified delimiter
	wb.SaveAsCsv(filepath, ";")
End Sub
$vbLabelText   $csharpLabel

Yukarıdaki kod, DataTable'yı bir Excel dosyasına dışa aktarıyor. Bir DataTable oluşturulduğunda sütun başlıkları oluşturulur. Ardından, ilk sütunu kurduktan sonra satırları tek tek ekleyin. WorkBook nesnesi, bu verileri tutmak için sütunlar ve satırlar DataTable nesnesine eklendikten sonra oluşturulur. WorkSheet nesnesi daha sonra oluşturulur ve bu WorkBook nesnesine eklenir.

Her değer, DataTable'dan okunur ve bir foreach döngüsü kullanılarak WorkSheet'ya eklenmeden önce işlenir. Tüm değerler çalışma sayfasına eklendikten sonra, SaveAsCsv metodu, onları bir CSV dosyasına kaydeder. Ayırıcıyı ve dosya konumunu parametreler olarak belirtebilirsiniz.

Daha karmaşık senaryolar için, birden fazla DataTable'ı farklı çalışma sayfaları olarak dışa aktarabilir veya daha çok yapılandırılmış veri organizasyonu için DataSetler ile çalışabilirsiniz.

Farklı CSV Formatlarıyla Çalışma

IronXL, CSV dosyaları ile çalışırken esneklik sağlar. İşte bir DataTable'yı özel formatlama ve kodlama ile dışa aktarmanın nasıl yapıldığını gösteren bir örnek:

// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
Imports System.Text

' Export with custom delimiter and encoding
Public Shared Sub ExportToCSVWithOptions(dataTable As DataTable, filepath As String)
    ' Create workbook from DataTable
    Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
    Dim ws As WorkSheet = wb.CreateWorkSheet("DataExport")

    ' Add headers
    For i As Integer = 0 To dataTable.Columns.Count - 1
        ws($"{ChrW(AscW("A"c) + i)}1").Value = dataTable.Columns(i).ColumnName
    Next

    ' Add data rows
    For row As Integer = 0 To dataTable.Rows.Count - 1
        For col As Integer = 0 To dataTable.Columns.Count - 1
            ws($"{ChrW(AscW("A"c) + col)}{row + 2}").Value = dataTable.Rows(row)(col)
        Next
    Next

    ' Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", Encoding.UTF8)
End Sub
$vbLabelText   $csharpLabel

Bu yaklaşım, işlem sürecinde daha fazla kontrol sahibi olmanıza olanak tanır, hücre verisi formatlarını ayarlayabilir ve çıktı yapısını özelleştirebilirsiniz.

Excel elektronik tablosu, A sütununda (Elma, Portakal, çilek, üzüm, karpuz, muz, limonlar) bir meyve listesi göstererek düzgün CSV formatlaması ve fazladan ayraçlar olmadan gösteriyor. Çıkış CSV Dosyası

Çalıştırılmış kod örneğinin çıktısı yukarıda gösterilmiştir. Ekran görüntüsünde, veri tablosundaki her veri parçası yeni oluşturulan Excel sayfasına tek tek eklenmiştir. Hücrelere dışa aktarmadan önce biçimlendirme uygulayabilir veya hesaplanan değerler için formüller ekleyebilirsiniz.

Daha gelişmiş CSV işlemleri için şunları yapabilirsiniz:

IronXL eğitiminden daha fazlasını öğrenmek için Excel formatlarına dışa nasıl aktarılır tıklayın.

CSV Dışa Aktarması İçin Neden IronXL Kullanmalıyım?

En popüler Excel araçlarından biri IronXL'dir. Başka kütüphanelere bağlı değildir. Otonomdur ve Microsoft Excel kurulumunu gerektirmez. Birçok kanalda çalışır.

IronXL, Microsoft Excel belgeleri ile ilgili tüm görevlerin programlı olarak uygulanmasına yönelik hepsi bir arada bir çözüm sağlar. Formül hesaplaması, dize veya sayı sıralaması, kesme ve ekleme, bul ve değiştir, birleştirme ve çözme, dosya kaydetme vb. işlemleri gerçekleştirebilirsiniz. Ayrıca hücre verisi formatlarını ayarlayabilir ve spreadsheet verilerini doğrulayabilirsiniz. Ayrıca CSV dosyalarını okuma ve yazmayı destekler ve Excel verileri gibi çalışmanıza yardımcı olur.

Ek avantajlar şunları içerir:

IronXL'in lansmandaki başlangıç fiyatı $999. Ayrıca, ürün desteği ve güncellemeleri için bir yıllık abonelik ücreti ödeme seçeneği sunar. Ek bir ücret karşılığında, IronXL sınırsız yeniden dağıtım güvenliği sunar. Daha fazla yaklaşık fiyat bilgisi için, lütfen bu lisans sayfasını ziyaret ediniz.

Sıkça Sorulan Sorular

Bir DataTable'ı C#'ta bir CSV dosyasına nasıl dışa aktarabilirim?

IronXL kullanarak bir WorkBook oluşturarak ve verileri çalışma sayfası nesnelerine dışa aktararak bir DataTable'ı bir CSV dosyasına dışa aktarabilirsiniz. Bu, Microsoft Excel gerektirmeden sorunsuz bir dönüşüm ve dışa aktarma sağlar.

Bu kütüphaneyi kullanarak hangi dosya formatlarını dışa aktarabilirim?

IronXL, verileri farklı veri ihtiyaçlarını karşılayacak şekilde XLS, CSV, TSV ve JSON gibi çeşitli formatlara dışa aktarmanıza olanak tanır.

Bu kütüphane ile Excel benzeri işlemler yapmak mümkün mü?

Evet, IronXL formül hesaplamaları, veri sıralama ve dosya kaydetme gibi Excel benzeri işlemleri mümkün kılarak Excel ile ilgili programlama görevleri için kapsamlı bir araç haline getirir.

Bu kütüphaneyi kullanabilmek için Microsoft Excel kurmam gerekiyor mu?

Hayır, IronXL bağımsız bir .NET kütüphanesidir ve Microsoft Excel'in kurulu olmasını gerektirmez, geliştiricilerin doğrudan C# uygulamalarında Excel belgeleri ile çalışmasına olanak tanır.

Bu kütüphane hangi platformlarla uyumludur?

IronXL, .NET Core, .NET Framework, Xamarin ve Windows, Linux ve macOS gibi işletim sistemleri dahil olmak üzere birden fazla platformla uyumludur.

Projeme IronXL kütüphanesini nasıl yüklerim?

IronXL, Visual Studio'da NuGet Package Manager'a erişerek veya NuGet ya da IronXL web sitelerinden doğrudan indirerek bir .NET projesine yüklenebilir.

Bu kütüphane için mevcut fiyat seçenekleri nelerdir?

IronXL, ürün desteği ve güncellemelerini içeren bir yıllık abonelik seçenekleri ile başlayan bir fiyat teklifi sunar, böylece devam eden destek ve en son özelliklere erişim sağlar.

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

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara