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'da yeni proje oluşturun
Ardından, projenin adını ve konumunu girin.
Yeni projeyi yapılandırın
Sonraki olarak, aşağıdaki yapıyı seçin. Bu projede .NET Core 6 kullanılacaktır.
.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.
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öneticisine Git
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.
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.
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
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
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.
Çı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:
- Özel ayraçlarla CSV dosyalarını okun
- Belirli bir kodlama ile CSV dosyalarına yazın
- Farklı hesap tablosu formatları arasında dönüştürün
- JSON veya XML formatlarına dışa aktarın
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:
- Hassas veri dışa aktarmaları için şifre koruması
- Büyük veri kümeleri için performans optimizasyonu
- CSV dışa aktarımı öncesinde Excel'de koşullu formatlama desteği
- Adlandırılmış aralıklar ve adlandırılmış tablolar desteği
- Desteklenen formatlarda köprü korunması
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.




