C#'ta 'DataTable' CSV'ye Nasıl Dışa Aktarılır
IronXL, Microsoft Excel kurulumu gerekmeden C# ile kesintisiz DataTable'den CSV'ye dönüştürme sağlar. Bu bağımsız .NET kutuphanesi, geliştiriciler için veri dışa aktarmayı kolaylaştırarak, özel yapılar ve ayırıcılarla DataTables'yi otomatik olarak CSV dosyalarına dönüştüren basit bir API sunar.
IronXL, geliştiricilerin C# .NET teknolojilerinde Microsoft Excel belgeleri ile etkileşime gecmesine olanak tanıyan popüler bir kutuphanedir ve CSV dosyalarını da dahil eder, Microsoft Excel yüklü olmasına gerek yoktur. Kayıtlı türlerin otomatik olarak CSV dosyalarına dönüştürülmesini ve özel yapılarla CSV dosyalarının yazılmasını saglar.
IronXL Kutuphanesi Hangi Özellikleri Sunar?
Microsoft Excel belgeleri, C# IronXL .NET kutuphanesi kullanılarak okunabilir ve CSV dosyalarına dönüştürülebilir. IronXL, farklı e-tablo formatlarını okuyabilen bağımsız bir .NET yazılım kutuphanesidir. Bu, Microsoft.Office.Interop.Excel'ye bağımlı değildir veya Microsoft Excel yüklemesi gerektirmez.
IronXL'nin kullanıcı dostu C# API'si yardımıyla .NET ortamında Excel e-tablo dosyalarını hızla okuyabilir, değiştirebilir ve oluşturabilirsiniz. IronXL, .NET Core, .NET Framework, Xamarin, Mobil, Linux, macOS ve Azure ile tamamen uyumludur.
- C# için önde gelen .NET Core ve .NET Framework Excel e-tablo kütüphaneleri arasında IronXL bulunur.
- Hemen hemen tüm .NET Framework'ler desteklenir; bu, Konsol, Windows Formları ve Web Uygulamalarını içerir.
- IronXL, Windows, Linux ve macOS işletim sistemlerinde çalışır.
- IronXL, Excel dosyalarını okuma işlemini basit ve hızlı hale getirir.
- IronXL, çok sayıda Excel formatını destekler: XLSX, XLS, CSV, TSV, XLST ve XLSM dosyaları.
- IronXL, dosyaları XLS, CSV, TSV, JSON ve XML dahil olmak üzere çeşitli formatlara aktarır.
- IronXL, Excel hesaplamaları oluşturur ve formülleri destekler.
- IronXL, tekst, 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 dokümantasyon özetine bakın.
Visual Studio'da Yeni Bir Proje Nasıl Oluşturabilirim?
IronXL framework'ü kullanılmadan önce Visual Studio'da bir .NET projesi oluşturulmalıdır. Herhangi bir Visual Studio sürümü çalışacaktır, ancak en son olanı önerilir. İhtiyaçlarınıza bağlı olarak bir Windows Forms uygulaması veya farklı proje şablonları oluşturabilirsiniz. Bu eğitici kılavuzda işleri basitleştirmek için Konsol Uygulaması kullanılacaktır.
Visual Studio'da yeni proje oluşturma
Bundan sonra, projenin adını ve konumunu girin.
Yeni projeyi yapılandırın
Ardından, aşağıdaki yapıyı seçin. Bu projede .NET Core 6 kullanılacak.
Bir .NET Framework sürümü seçin
Uygulama çözüm dosyasını oluşturduktan sonra program.cs dosyası açılacak, böylece program kodunu girebilir ve uygulamayı derleyip çalıştırabilirsiniz.
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ü hususlarla.
IronXL Kütüphanesini Nasıl Yüklerim?
IronXL Kütüphanesini indirmek ve yüklemek için dört yöntem vardır.
Şunlardır:
- Visual Studio üzerinden yükleme
- Visual Studio Paket Yöneticisi Konsolu kullanarak yükleme
- NuGet web sitesi üzerinden doğrudan indirme
- IronXL web sitesinden doğrudan indirme
Visual Studio Yüklemesi İçin Hangi Yöntemi Kullanmalıyım?
NuGet Paket Yöneticisi kullanılarak IronXL modülü yüklenebilir. IronXL'yi bulmak için önce NuGet Paket Yöneticisi'ni başlatmalı ve gezinme paneline bakmalısınız. IronXL'yi arama listelerinden seçerek yükleyin. Bundan sonra, IronXL kütüphanesi bu uygulamada kullanılabilir hale gelecektir.
Aşağıdaki resim, Visual Studio'nun NuGet Paket Yöneticisi'nin nasıl başlatılacağını göstermektedir.
NuGet Paket Yöneticisine gidin
NuGet Paket Yöneticisi UI'de IronXL paketini yükleyin
Paket Yöneticisi Konsolunu Ne Zaman Kullanmalıyım?
Birçok geliştirici görevleri gerçekleştirmek için bir konsol kullanmayı tercih eder. Bu nedenle, terminal yüklemesi de bir seçenektir. Komut satırını kullanarak IronXL'yi yüklemek için aşağıdaki talimatlara uyun.
- Visual Studio'da Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi arayüzüne gidin.
-
Paket yöneticisinin konsol sekmesine aşağıdaki komutu girin:
Install-Package IronXl.Excel
- IronXL'nin indirildiğini ve aktif projeye yüklendiğini bekleyin.
Paket Yöneticisi Konsolu UI'de IronXL paketini yükleyin
Neden NuGet Web Sitesinden İndirmeliyim?
NuGet paketi web sitesinden doğrudan üçüncü bir seçenek olarak indirilebilir. Bu yöntem, internet erişiminin kısıtlı olduğu ortamlarda veya paketleri manuel olarak yönetmeniz gerektiğinde özellikle faydalıdır.
- resmi NuGet bağlantısına gidin.
- İndirme paketi seçeneği sağdaki menüde bulunabilir.
- Kaydedilen dosyayı iki kez tıklayın. Hemen yüklenecektir.
- Çözümü yeniden yükleyin ve ardından projede kullanmaya başlayın.
IronXL Web Sitesinden Doğrudan Nasıl Yükleyebilirim?
Web sitesinden en son paketi doğrudan indirmek için bu IronXL ZIP dosyasını indirme bağlantısını tıklayın. Bu bağlantı, IronXL kütüphanesi DLL'nin en son sürümünü içeren bir ZIP dosyasını indirecektir. İndirme bitince, ZIP dosyasının içeriğini istediğiniz bir dizine çıkarın.
İndirildi̇kten sonra dosyayı projeye eklemek için aşağıdaki adımlara uyun.
- Çözüm penceresinden projeye sağ tıklayın.
- Başvuruları seçin ve ardından IronXL DLL'lerini içeren çıkarılmış klasöre gidin.
- DLL'yi seçin ve aktif projeye Referans olarak eklemek için Tamam'a tıklayın.
Dağıtım senaryoları için, Docker kapları içinde IronXL ayarlayabilir veya AWS Lambda ve Azure Functions gibi bulut platformlarına dağıtabilirsiniz.
DataTable Nasıl CSV Dosyasına Dışarı Aktarılır?
DataTables, IronXL kullanarak kolay ve hızlı bir şekilde CSV dosyalarına dışarı aktarılabilir. Özel ayraçlar ve kodlama seçenekleri destekleyerek yeni CSV dosyalarına veri yazmaya yardımcı olur.
Aşağıdaki kod resminde gösterildiği gibi, IronXL sınıf ve yöntemlerini kullanmak için öncelikle IronXL isim alanı dahil edilmelidir.
Genel isim alanlarını ekleyin
Excel dosyaları IronXL kullanılarak oluşturulabilir, ardından bu dosyaları WorkBook nesnelerine dönüştürür. Ardından bu nesneler üzerinde çeşitli işlemler gerçekleştirin. Aşağıdaki örnek kod, bir DataTable'yi bir Excel çalışma sayfasına dönüştürerek bir Excel dosyası oluşturacaktır.
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
Yukarıdaki kod DataTable'yi 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ı birer birer ekleyin. DataTable nesnesine sütun ve satır eklendikten sonra bu verileri barındıracak WorkBook nesnesi oluşturulur. WorkSheet nesnesi oluşturulur ve WorkBook nesnesine eklenir.
Her bir DataTable değeri okunur ve foreach döngüsü kullanılarak WorkSheet'ye eklenmeden önce eklenir. Çalışma sayfasına tüm değerler eklendikten sonra, SaveAsCsv yöntemi, bu değerleri bir CSV dosyasına kaydeder. Hem ayırıcıyı hem de dosya konumunu parametre olarak belirleyebilirsiniz.
Daha karmaşık senaryolarda, birden fazla DataTable'i farklı çalışma sayfaları olarak dışa aktarmak veya daha yapılandırılmış veri örgütlenmesi için DataSet'ler ile çalışmak isteyebilirsiniz.
Farklı CSV Biçimleriyle Çalışma
IronXL, CSV dosyalarıyla çalışırken esneklik sağlar. İşte bir DataTable'in özel biçimlendirme ve kodlama ile dışa aktarımını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
Bu yaklaşım size dışa aktarma süreci üzerinde daha fazla kontrol sağlar, hücre veri biçimlerini ayarlamanıza ve çıkış yapısını özelleştirmenize olanak tanır.
Çıktı CSV dosyası
Çalıştırma kodu örneği çıktısı yukarıda gösterilmektedir. Ekran görüntüsünde, veri tablosundan her bir veri parçası tek tek yeni oluşturulan Excel sayfasına eklenmiştir. Ayrıca, ihracattan önce hücrelere biçimlendirme uygulayabilir veya hesaplanan değerler için formüller ekleyebilirsiniz.
Daha gelişmiş CSV işlemleri için,:
- Özel ayırıcılarla CSV dosyalarını okuyun
- Belirli kodlama ile CSV dosyalarına yazın
- Farklı elektronik tablo biçimleri arasında dönüştürün
- JSON veya XML formatlarına dışa aktarın
IronXL eğitimi hakkında daha fazla bilgi edinmek için bu Excel formatlarına nasıl dışa aktarım yapacağınızı tıklayın.
CSV Dışa Aktarma İçin Neden IronXL Kullanmalıyım?
En popüler Excel araçlarından biri IronXL'dir. Dış kaynaklardan herhangi bir başka kütüphaneye bağlı değildir. Otonomdur ve Microsoft Excel kurulumu gerektirmez. Birçok kanal üzerinden çalışır.
IronXL, tüm Microsoft Excel belgeyle ilgili görevlerin programatik olarak uygulanması için hepsi bir arada bir çözüm sağlar. Formül hesaplama yapabilir, dize veya sayı sıralaması, kırpma ve ekleme, bul ve değiştir, birleştir ve ayır, dosya kaydet vb. işlemleri yapabilirsiniz. Ayrıca hücre veri biçimlerini ayarlayabilir ve elektronik tablo verilerini doğrulayabilirsiniz. Ayrıca CSV dosyalarını okuma ve yazmayı destekler ve Excel verileri gibi çalışmanıza yardımcı olur.
Ek faydalar şunlardır:
- Hassas veri dışa aktarımları için parola koruma
- Büyük veri setleri için performans optimizasyonu
- CSV dışa aktarmadan önce Excel'de koşullu biçimlendirme desteği
- Adlandırılmış aralıklar ve adlandırılmış tablolar desteği
- Köprü korunumu desteklenen formatlarda
IronXL'in başlangıç fiyatı lansmanda $799. Ürün yardımı ve güncellemeleri için bir yıllık abonelik ücreti ödeme seçeneğini de sunar. Ek bir ücret karşılığında, IronXL sınırsız yeniden dağıtım için güvenlik sunar. Daha geniş yaklaşık fiyat bilgilerini araştırmak için lütfen bu lisanslama sayfasını ziyaret edin.
Sıkça Sorulan Sorular
Bir DataTable'ı C# dilinde bir CSV dosyasına nasıl dışa aktarabilirim?
Bir WorkBook oluşturarak ve veriyi çalışma tablosu nesnelerine dışa aktararak IronXL'yi kullanarak bir DataTable'ı 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, XLS, CSV, TSV ve JSON gibi çeşitli formatlara veri dışa aktarımına olanak tanır, farklı veri ihtiyaçlarına esneklik sağlar.
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 etkinleştirir, bu da onu Excel ile ilgili programlama görevleri için kapsamlı bir araç haline getirir.
Bu kütüphaneyi kullanmak için Microsoft Excel yüklemem gerekiyor mu?
Hayır, IronXL, Microsoft Excel yüklü olmasına gerek olmayan bağımsız bir .NET kütüphanesidir, bu sayede geliştiricilerin C# uygulamaları içinde doğrudan Excel belgeleriyle çalışmalarına izin verir.
Bu kütüphane hangi platformlar ile uyumludur?
IronXL, .NET Core, .NET Framework, Xamarin gibi platformlar ve Windows, Linux ve macOS gibi işletim sistemleriyle uyumludur.
IronXL kütüphanesini projemde nasıl kurabilirim?
Visual Studio kullanarak NuGet Paket Yöneticisine erişerek veya doğrudan NuGet veya IronXL web sitelerinden indirerek IronXL bir .NET projesine kurulabilir.
Bu kütüphane için mevcut fiyatlandırma seçenekleri nelerdir?
IronXL, ürün yardımı ve güncellemelerini içeren bir yıllık abonelik seçenekleri ile başlayan bir fiyat sunar, sürekli destek ve en son özelliklere erişim sağlar.




