IronXL ile C#'da Verileri CSV'ye Nasıl Kaydedersiniz
Modern C# uygulamalarında, iş raporları oluşturma veya veritabanı kayıtlarını dışa aktarma gibi, CSV dosyalarını yönetmek temel bir gerekliliktir. .NET, temel dosya yazma yetenekleri sağlarken, CSV dosyalarını verimli bir şekilde işlemek, özellikle özel karakterler, çoklu veri türleri ve büyük veri setleriyle çalışırken, daha sağlam bir çözüm gerektirir. IronXL, C#'te CSV'yi kaydetmek gibi CSV işlemlerini ele almak için kapsamlı bir API sağlayarak tüm süreci basitleştirir, tam Excel uyumluluğuyla birlikte.
Bu kılavuz, C# uygulamalarınızda CSV dosyaları oluşturma, kaydetme ve yönetme için IronXL'nin güçlü özelliklerini nasıl kullanabileceğinizi gösterir. Basit koleksiyonlardan karmaşık DataTable'lara kadar çeşitli veri kaynaklarını yönetme konusunda pratik teknikler öğreneceksiniz, tüm bunları temiz ve sürdürülebilir kod yazarken yapacaksınız.

IronXL ile Başlarken
CSV işlemlerine dalmadan önce, projenize IronXL'yi kurmanız gerekecek. Kütüphane .NET Framework 4.6.2+ ve .NET Core 2+ destekliyor, böylece hem eski hem de modern uygulamalarla uyumludur. IronXL ayrıca Windows, Linux ve macOS ortamlarında sorunsuz çalışan mükemmel çapraz platform desteği sağlar.

Visual Studio'yu açın, Paket Yöneticisi Konsoluna gidin ve şu komutu yazın:
Install-Package IronXl.Excel

Veya .NET CLI üzerinden:
dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
Kurulum tamamlandığında, CSV yönetim özelliklerine erişmek için C# dosyanıza IronXL ad alanını ekleyin, örneğin veri yazmak:
using IronXL;
using IronXL;
Imports IronXL
Bu basit kurulum, size güçlü tablo manipülasyon yeteneklerine hemen erişim sağlar. Excel Interop veya karmaşık CSV ayrıştırma mantığı gerektiren geleneksel yaklaşımların aksine, IronXL arka plandaki karmaşıklıkları yöneten sezgisel bir API sağlar. Kütüphane, Microsoft Office kurulumu gerektirmeden bağımsız çalışır, böylece sunucu dağıtımları ve konteynerize edilmiş uygulamalar için idealdir.
Kütüphaneyi yüklerken veya başlatırken bir hata oluşursa, projenizin desteklenen bir .NET sürümünü hedeflediğinden ve tüm bağımlılıkların doğru bir şekilde geri yüklendiğinden emin olun.
Yeni CSV Dosyalarına Veri Nasıl Kaydedilir ve Yazılır?
IronXL kullanarak sıfırdan CSV dosyaları oluşturmak veya yazmak sezgisel bir yapıyı takip eder. Çalışma kitabı oluşturarak, tüm verileri hücrelere ekleyip CSV formatında kaydederek işe başlayabilirsiniz. Bu yaklaşım, temel dize birleştirme yöntemlerinden çok daha fazla kontrol sağlar.
Ana CSV oluşturma mantığına dalmadan önce, ortak sınıf öğrenci yapısı kullanılarak yapılmış basit bir model tanımı. Bu model, daha sonra CSV'ye aktarabileceğimiz yapılandırılmış verileri temsil eder.
// Define a Student class to model your data
public class Student
{
public string? Name { get; set; } // public string firstname, public string lastname
public int Age { get; set; }
public string? Grade { get; set; }
}
// Define a Student class to model your data
public class Student
{
public string? Name { get; set; } // public string firstname, public string lastname
public int Age { get; set; }
public string? Grade { get; set; }
}
Option Strict On
Public Class Student
Public Property Name As String
Public Property Age As Integer
Public Property Grade As String
End Class
Öğrenci nesnelerinin bir listesini doldurabilir ve ardından bunları CSV dosyasına verimli bir şekilde aktarmak için IronXL'yi kullanabilirsiniz. Bu örnek, sınıf özelliklerini çalışma sayfası hücrelerine nasıl eşleyeceğinizi gösterir:
using System;
using System.Collections.Generic;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create sample data using the student class
List<Student> students = new List<Student>()
{
new Student { Name = "Alice Johnson", Age = 20, Grade = "A" },
new Student { Name = "Brian Smith", Age = 22, Grade = "B+" },
new Student { Name = "Chloe Brown", Age = 19, Grade = "A-" },
new Student { Name = "David Clark", Age = 21, Grade = "B" }
};
// Create a new workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Students");
// Add headers
sheet["A1"].Value = "Name";
sheet["B1"].Value = "Age";
sheet["C1"].Value = "Grade";
// Add student data to the worksheet
for (int i = 0; i < students.Count; i++)
{
sheet[$"A{i + 2}"].Value = students[i].Name;
sheet[$"B{i + 2}"].IntValue = students[i].Age;
sheet[$"C{i + 2}"].Value = students[i].Grade;
}
// Save as CSV file
workbook.SaveAsCsv("students.csv");
Console.WriteLine("students.csv file has been created successfully!");
}
}
using System;
using System.Collections.Generic;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Create sample data using the student class
List<Student> students = new List<Student>()
{
new Student { Name = "Alice Johnson", Age = 20, Grade = "A" },
new Student { Name = "Brian Smith", Age = 22, Grade = "B+" },
new Student { Name = "Chloe Brown", Age = 19, Grade = "A-" },
new Student { Name = "David Clark", Age = 21, Grade = "B" }
};
// Create a new workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Students");
// Add headers
sheet["A1"].Value = "Name";
sheet["B1"].Value = "Age";
sheet["C1"].Value = "Grade";
// Add student data to the worksheet
for (int i = 0; i < students.Count; i++)
{
sheet[$"A{i + 2}"].Value = students[i].Name;
sheet[$"B{i + 2}"].IntValue = students[i].Age;
sheet[$"C{i + 2}"].Value = students[i].Grade;
}
// Save as CSV file
workbook.SaveAsCsv("students.csv");
Console.WriteLine("students.csv file has been created successfully!");
}
}
Imports System
Imports System.Collections.Generic
Imports IronXL
Class Program
Shared Sub Main(ByVal args As String())
' Create sample data using the student class
Dim students As New List(Of Student)() From {
New Student With {.Name = "Alice Johnson", .Age = 20, .Grade = "A"},
New Student With {.Name = "Brian Smith", .Age = 22, .Grade = "B+"},
New Student With {.Name = "Chloe Brown", .Age = 19, .Grade = "A-"},
New Student With {.Name = "David Clark", .Age = 21, .Grade = "B"}
}
' Create a new workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Students")
' Add headers
sheet("A1").Value = "Name"
sheet("B1").Value = "Age"
sheet("C1").Value = "Grade"
' Add student data to the worksheet
For i As Integer = 0 To students.Count - 1
sheet($"A{i + 2}").Value = students(i).Name
sheet($"B{i + 2}").IntValue = students(i).Age
sheet($"C{i + 2}").Value = students(i).Grade
Next
' Save as CSV file
workbook.SaveAsCsv("students.csv")
Console.WriteLine("students.csv file has been created successfully!")
End Sub
End Class
Class Student
Public Property Name As String
Public Property Age As Integer
Public Property Grade As String
End Class
Açıklama:
- Ortak sınıf öğrenci, veri modeliniz için şemayı tanımlar.
- Örnek verilerle birlikte öğrenci nesnelerinin bir listesi oluşturulur.
- IronXL'nin WorkBook ve WorkSheet API'leri, bellekte yapılandırılmış bir elektronik tablo oluşturmak için kullanılır.
- CSV çıktısında okunabilirliği sağlamak için başlıklar manuel olarak eklenir.
- Öğrenci verileri satır satır çalışma sayfasına yazılır.
- Son olarak, veriler SaveAsCsv() kullanılarak bir CSV dosyası olarak kaydedilir.
Çıktı


Bu desen ölçeklenebilir; bu sayede, daha büyük veri setleri için kolayca uyarlayabilir veya veritabanından ya da API'den öğrenci verilerini alan bir uygulamaya entegre edebilirsiniz.
Örneğin, dosyaya yazarken bir hata oluştuğunda (örneğin, dosya kilitli ya da yol geçersiz), bunu zarif bir şekilde ele alabilirsiniz:
try
{
workbook.SaveAsCsv("students.csv");
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred while saving CSV: {ex.Message}");
}
try
{
workbook.SaveAsCsv("students.csv");
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred while saving CSV: {ex.Message}");
}
Try
workbook.SaveAsCsv("students.csv")
Catch ex As Exception
Console.WriteLine($"Error occurred while saving CSV: {ex.Message}")
End Try
Bu, dosya I/O sorunları ortaya çıktığında bile uygulamanızın sağlam ve bilgilendirici kalmasını sağlar.
Temel bir CSV dosyası oluşturmak için örnek kod aşağıdadır.
static void Main(string[] args)
{
// Create a new workbook
var writer = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = writer.CreateWorkSheet("Sales Data");
// Add headers
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";
sheet["C1"].Value = "Price";
sheet["D1"].Value = "Total";
// Add data rows
sheet["A2"].Value = "Widget A";
sheet["B2"].IntValue = 100;
sheet["C2"].DecimalValue = 29.99m;
sheet["D2"].Formula = "=B2*C2";
sheet["A3"].Value = "Widget B";
sheet["B3"].IntValue = 50;
sheet["C3"].DecimalValue = 49.99m;
sheet["D3"].Formula = "=B3*C3";
// Save as new CSV file
writer.SaveAsCsv("sales_report.csv");
}
static void Main(string[] args)
{
// Create a new workbook
var writer = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = writer.CreateWorkSheet("Sales Data");
// Add headers
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";
sheet["C1"].Value = "Price";
sheet["D1"].Value = "Total";
// Add data rows
sheet["A2"].Value = "Widget A";
sheet["B2"].IntValue = 100;
sheet["C2"].DecimalValue = 29.99m;
sheet["D2"].Formula = "=B2*C2";
sheet["A3"].Value = "Widget B";
sheet["B3"].IntValue = 50;
sheet["C3"].DecimalValue = 49.99m;
sheet["D3"].Formula = "=B3*C3";
// Save as new CSV file
writer.SaveAsCsv("sales_report.csv");
}
Bu kod, başlıklar ve verilerle yapılandırılmış bir çalışma kitabı oluşturur, ardından CSV formatına aktarır. WorkBook.Create() metodu bellekte yeni bir elektronik tablo başlatır. Her hücre farklı veri türlerini, örneğin dizeler, tamsayılar, ondalıklar ve hatta formülleri barındırabilir. SaveAsCsv() çağrıldığında, IronXL otomatik olarak dönüştürmeyi yönetir, özel karakterleri düzgün bir şekilde kaçar ve veri bütünlüğünü korur.
Bu yaklaşımın güzelliği esnekliğindedir. Verileri bir elektronik tablo olarak dışa aktarmadan önce yönetebilir, formüller uygulayabilir, biçimlendirebilir veya doğrulama kuralları uygulayabilirsiniz. IronXL, formülleri dışa aktarma işlemi sırasında otomatik olarak değerlendirir, böylece CSV'nizde formül metni yerine hesaplanan değerler bulunur.
Çıktı

Özel ayırıcı gereksinimleri için, IronXL, standart virgüle alternatifler belirlemenize izin verir:
// Save with semicolon delimiter for European locale compatibility
workbook.SaveAsCsv("sales_report.csv", ";");
// Save with tab delimiter
workbook.SaveAsCsv("sales_report.tsv", "\t");
// Save with semicolon delimiter for European locale compatibility
workbook.SaveAsCsv("sales_report.csv", ";");
// Save with tab delimiter
workbook.SaveAsCsv("sales_report.tsv", "\t");
Bu esneklik, çeşitli bölgesel ayarlar ve uygulama gereksinimleri ile uyumluluğu garanti eder. Kütüphane, farklı sistemler ve yerlerde doğru karakter temsili sağlamak için kodlama sorunlarını otomatik olarak yönetir.

DataTable CSV'ye Nasıl Aktarılır?
DataTables, .NET uygulamalarında veritabanlarından veya iş mantığından tablo verileri depolamak için yaygındır. IronXL, sütun adlarını ve veri türlerini işlemin her aşamasında koruyarak DataTable'ları sorunsuz bir şekilde CSV'ye dönüştürür.
// Create a sample DataTable (simulating database results) to store data
DataTable customerOrders = new DataTable("CustomerOrders");
customerOrders.Columns.Add("OrderID", typeof(int));
customerOrders.Columns.Add("CustomerName", typeof(string));
customerOrders.Columns.Add("OrderDate", typeof(DateTime));
customerOrders.Columns.Add("Amount", typeof(decimal));
// Add sample data
customerOrders.Rows.Add(1001, "Acme Corp", new DateTime(2024, 1, 15), 1250.50m);
customerOrders.Rows.Add(1002, "TechStart Inc", new DateTime(2024, 1, 16), 3500.00m);
customerOrders.Rows.Add(1003, "Global Systems", new DateTime(2024, 1, 17), 875.25m);
// Convert DataTable to CSV using IronXL
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Orders");
// Add headers from DataTable columns
for (int i = 0; i < customerOrders.Columns.Count; i++)
{
sheet.SetCellValue(0, i, customerOrders.Columns[i].ColumnName);
}
// Add data rows
for (int row = 0; row < customerOrders.Rows.Count; row++)
{
for (int col = 0; col < customerOrders.Columns.Count; col++)
{
sheet.SetCellValue(row + 1, col, customerOrders.Rows[row][col]);
}
}
// Export to CSV
workbook.SaveAsCsv("customer_orders.csv");
// Create a sample DataTable (simulating database results) to store data
DataTable customerOrders = new DataTable("CustomerOrders");
customerOrders.Columns.Add("OrderID", typeof(int));
customerOrders.Columns.Add("CustomerName", typeof(string));
customerOrders.Columns.Add("OrderDate", typeof(DateTime));
customerOrders.Columns.Add("Amount", typeof(decimal));
// Add sample data
customerOrders.Rows.Add(1001, "Acme Corp", new DateTime(2024, 1, 15), 1250.50m);
customerOrders.Rows.Add(1002, "TechStart Inc", new DateTime(2024, 1, 16), 3500.00m);
customerOrders.Rows.Add(1003, "Global Systems", new DateTime(2024, 1, 17), 875.25m);
// Convert DataTable to CSV using IronXL
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Orders");
// Add headers from DataTable columns
for (int i = 0; i < customerOrders.Columns.Count; i++)
{
sheet.SetCellValue(0, i, customerOrders.Columns[i].ColumnName);
}
// Add data rows
for (int row = 0; row < customerOrders.Rows.Count; row++)
{
for (int col = 0; col < customerOrders.Columns.Count; col++)
{
sheet.SetCellValue(row + 1, col, customerOrders.Rows[row][col]);
}
}
// Export to CSV
workbook.SaveAsCsv("customer_orders.csv");
Imports System
Imports System.Data
Imports IronXL
' Create a sample DataTable (simulating database results) to store data
Dim customerOrders As New DataTable("CustomerOrders")
customerOrders.Columns.Add("OrderID", GetType(Integer))
customerOrders.Columns.Add("CustomerName", GetType(String))
customerOrders.Columns.Add("OrderDate", GetType(DateTime))
customerOrders.Columns.Add("Amount", GetType(Decimal))
' Add sample data
customerOrders.Rows.Add(1001, "Acme Corp", New DateTime(2024, 1, 15), 1250.5D)
customerOrders.Rows.Add(1002, "TechStart Inc", New DateTime(2024, 1, 16), 3500.0D)
customerOrders.Rows.Add(1003, "Global Systems", New DateTime(2024, 1, 17), 875.25D)
' Convert DataTable to CSV using IronXL
Dim workbook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Orders")
' Add headers from DataTable columns
For i As Integer = 0 To customerOrders.Columns.Count - 1
sheet.SetCellValue(0, i, customerOrders.Columns(i).ColumnName)
Next
' Add data rows
For row As Integer = 0 To customerOrders.Rows.Count - 1
For col As Integer = 0 To customerOrders.Columns.Count - 1
sheet.SetCellValue(row + 1, col, customerOrders.Rows(row)(col))
Next
Next
' Export to CSV
workbook.SaveAsCsv("customer_orders.csv")
Bu örnek, bir veritabanından gelen sipariş verilerinin raporlama veya entegrasyon amacıyla dışa aktarılması gereken gerçek dünya senaryosunu gösterir. Kod, sütun başlıklarını ve satır verilerini koruyarak DataTable yapısında ilerler. IronXL farklı veri türlerinin dönüştürülmesini uygun bir şekilde yönetir, böylece tarihlerin, ondalıkların ve dizelerin sonuç CSV dosyasında doğru biçimlendiğinden emin olur.
Çıktı

Birden fazla ilişkili tablo veya ileri düzey veri dönüşümleri içeren daha karmaşık senaryolar için, IronXL'nin hücre başvuru ve formül kapasitesinden faydalanabilirsiniz:
// Add summary row with formulas
int lastRow = customerOrders.Rows.Count + 1;
sheet[$"A{lastRow + 1}"].Value = "Total:";
sheet[$"D{lastRow + 1}"].Formula = $"=SUM(D2:D{lastRow})";
// Calculate and save
workbook.SaveAsCsv("customer_orders_with_total.csv");
// Add summary row with formulas
int lastRow = customerOrders.Rows.Count + 1;
sheet[$"A{lastRow + 1}"].Value = "Total:";
sheet[$"D{lastRow + 1}"].Formula = $"=SUM(D2:D{lastRow})";
// Calculate and save
workbook.SaveAsCsv("customer_orders_with_total.csv");
' Add summary row with formulas
Dim lastRow As Integer = customerOrders.Rows.Count + 1
sheet($"A{lastRow + 1}").Value = "Total:"
sheet($"D{lastRow + 1}").Formula = $"=SUM(D2:D{lastRow})"
' Calculate and save
workbook.SaveAsCsv("customer_orders_with_total.csv")
Bu yaklaşım, geleneksel DataTable dışa aktarma yöntemlerinden çok daha fazla kontrol sağlar. Hesaplanan alanlar ekleyebilir, koşullu biçimlendirme mantığı uygulayabilir veya son dışa aktarma öncesinde sütunları yeniden düzenleyebilirsiniz. IronXL belgeleri, ileri düzey DataTable manipülasyon senaryoları için kapsamlı örnekler sağlar.
Excel Dosyaları CSV'ye Nasıl Dönüştürülür?
IronXL'nin en güçlü özelliklerinden biri, mevcut Excel dosyalarıyla sorunsuz çalışabilmesi, verileri koruyarak onları CSV formatına dönüştürmesidir. Bu, Excel raporları üreten ancak aşağı akış işlem için CSV gerektiren sistemlerle entegrasyon yaparken özellikle kullanışlıdır.
// Load an existing Excel file
WorkBook existingWorkbook = WorkBook.Load("Budget.xlsx");
// Access the first worksheet
WorkSheet sheet = existingWorkbook.WorkSheets[0];
// Save as CSV - single sheet
sheet.SaveAsCsv("Budget.csv");
// Or save entire workbook (creates multiple CSV files for multiple sheets)
existingWorkbook.SaveAsCsv("BudgetReport.csv");
// Load an existing Excel file
WorkBook existingWorkbook = WorkBook.Load("Budget.xlsx");
// Access the first worksheet
WorkSheet sheet = existingWorkbook.WorkSheets[0];
// Save as CSV - single sheet
sheet.SaveAsCsv("Budget.csv");
// Or save entire workbook (creates multiple CSV files for multiple sheets)
existingWorkbook.SaveAsCsv("BudgetReport.csv");
' Load an existing Excel file
Dim existingWorkbook As WorkBook = WorkBook.Load("Budget.xlsx")
' Access the first worksheet
Dim sheet As WorkSheet = existingWorkbook.WorkSheets(0)
' Save as CSV - single sheet
sheet.SaveAsCsv("Budget.csv")
' Or save entire workbook (creates multiple CSV files for multiple sheets)
existingWorkbook.SaveAsCsv("BudgetReport.csv")
Excel dosyalarını yüklerken IronXL, formüllerle hesaplananlar da dahil olmak üzere tüm hücre değerlerini korur. Bu kütüphane, formülleri dönüştürme süreci sırasında değerlendirir ve böylece CSV'niz gerçek hesaplanmış değerleri içerir. Bu, CSV dışa aktarımlarında görülen formül metni sorununun ortadan kalkmasını sağlar.
Girdi

Çıktı

Birden fazla sayfa içeren çalışma kitapları için, IronXL her sayfayı akıllıca yönetir:
// Process multiple sheets
WorkBook multiSheetWorkbook = WorkBook.Load("annual_data.xlsx");
foreach (WorkSheet sheet in multiSheetWorkbook.WorkSheets)
{
string fileName = $"export_{sheet.Name}.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
// Process multiple sheets
WorkBook multiSheetWorkbook = WorkBook.Load("annual_data.xlsx");
foreach (WorkSheet sheet in multiSheetWorkbook.WorkSheets)
{
string fileName = $"export_{sheet.Name}.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
Imports System
' Process multiple sheets
Dim multiSheetWorkbook As WorkBook = WorkBook.Load("annual_data.xlsx")
For Each sheet As WorkSheet In multiSheetWorkbook.WorkSheets
Dim fileName As String = $"export_{sheet.Name}.csv"
sheet.SaveAsCsv(fileName)
Console.WriteLine($"Exported {sheet.Name} to {fileName}")
Next
Bu kod, bir Excel dosyasındaki tüm çalışma sayfalarını yineleyerek her sayfa için ayrı bir CSV dosyası oluşturur. Sayfa adları, dosya adlarında korunarak her CSV dosyasının kaynağının kolayca tanınmasını sağlar. IronXL, XLSX, XLS, XLSM ve XLTX gibi farklı Excel formatlarını destekleyerek farklı Excel sürümleri ve kullanım senaryoları ile geniş bir uyumluluk sağlar. Belgedeki formatlar arası dönüşüm hakkında daha fazla bilgi edinin.
İleri Seviye CSV Yönetim Teknikleri
Temel CSV oluşturmadan öte, IronXL, üretim ortamlarında sıkça ortaya çıkan karmaşık senaryoları ele alacak gelişmiş özellikler sunar. Bu özellikler, sıradan dosya yazma yaklaşımlarından ayrılmasını sağlar.
Özel karakterlerle çalışırken, IronXL otomatik olarak kaçış ve kodlamayı yönetir:
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Data");
// Data with special characters
sheet["A1"].Value = "Company \"ABC\", Inc."; // Quotes
sheet["B1"].Value = "Line 1\nLine 2"; // Newlines
sheet["C1"].Value = "Price: €50,00"; // Unicode characters
workbook.SaveAsCsv("special_chars.csv");
WorkBook workbook = WorkBook.Create();
WorkSheet sheet = workbook.CreateWorkSheet("Data");
// Data with special characters
sheet["A1"].Value = "Company \"ABC\", Inc."; // Quotes
sheet["B1"].Value = "Line 1\nLine 2"; // Newlines
sheet["C1"].Value = "Price: €50,00"; // Unicode characters
workbook.SaveAsCsv("special_chars.csv");
Dim workbook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Data")
' Data with special characters
sheet("A1").Value = "Company ""ABC"", Inc." ' Quotes
sheet("B1").Value = "Line 1" & vbLf & "Line 2" ' Newlines
sheet("C1").Value = "Price: €50,00" ' Unicode characters
workbook.SaveAsCsv("special_chars.csv")
IronXL, tırnak işaretlerini doğru bir şekilde algılar, çok satırlı içeriği işler ve Unicode karakterlerini korur. Bu otomatik yetenek, manuel dize manipülasyonu yaklaşımlarıyla oluşan yaygın CSV çözümleme hatalarını önler.
Çıktı

Toplu işleme senaryoları için, birden fazla dosyayı verimli bir şekilde yönetebilirsiniz:
string[] sourceFiles = Directory.GetFiles("input_folder", "*.xlsx");
foreach (string file in sourceFiles)
{
WorkBook wb = WorkBook.Load(file);
var csv = Path.ChangeExtension(file, ".csv");
wb.SaveAsCsv(csv);
}
string[] sourceFiles = Directory.GetFiles("input_folder", "*.xlsx");
foreach (string file in sourceFiles)
{
WorkBook wb = WorkBook.Load(file);
var csv = Path.ChangeExtension(file, ".csv");
wb.SaveAsCsv(csv);
}
Imports System.IO
Dim sourceFiles As String() = Directory.GetFiles("input_folder", "*.xlsx")
For Each file As String In sourceFiles
Dim wb As WorkBook = WorkBook.Load(file)
Dim csv = Path.ChangeExtension(file, ".csv")
wb.SaveAsCsv(csv)
Next
Büyük veri kümeleri işlenirken bellek verimliliği çok önemli hale gelir. IronXL, belleği içsel olarak optimize eder ancak performansı daha da artırmak için verileri parçalar halinde işleyebilir ve kaynakları düzgün bir şekilde elden çıkarabilirsiniz:
WorkBook largeWorkbook = WorkBook.Create();
WorkSheet sheet = largeWorkbook.CreateWorkSheet("LargeData");
// Process in batches
const int batchSize = 1000;
for (int batch = 0; batch < 10; batch++)
{
for (int row = 0; row < batchSize; row++)
{
int actualRow = (batch * batchSize) + row;
sheet.SetCellValue(actualRow, 0, $"Row {actualRow}");
// Add more data...
sheet.SetCellValue(actualRow, 1, DateTime.Now);
sheet.SetCellValue(actualRow, 2, $"Batch {batch + 1}");
}
}
largeWorkbook.SaveAsCsv("large_dataset.csv");
WorkBook largeWorkbook = WorkBook.Create();
WorkSheet sheet = largeWorkbook.CreateWorkSheet("LargeData");
// Process in batches
const int batchSize = 1000;
for (int batch = 0; batch < 10; batch++)
{
for (int row = 0; row < batchSize; row++)
{
int actualRow = (batch * batchSize) + row;
sheet.SetCellValue(actualRow, 0, $"Row {actualRow}");
// Add more data...
sheet.SetCellValue(actualRow, 1, DateTime.Now);
sheet.SetCellValue(actualRow, 2, $"Batch {batch + 1}");
}
}
largeWorkbook.SaveAsCsv("large_dataset.csv");
Dim largeWorkbook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = largeWorkbook.CreateWorkSheet("LargeData")
' Process in batches
Const batchSize As Integer = 1000
For batch As Integer = 0 To 9
For row As Integer = 0 To batchSize - 1
Dim actualRow As Integer = (batch * batchSize) + row
sheet.SetCellValue(actualRow, 0, $"Row {actualRow}")
' Add more data...
sheet.SetCellValue(actualRow, 1, DateTime.Now)
sheet.SetCellValue(actualRow, 2, $"Batch {batch + 1}")
Next
Next
largeWorkbook.SaveAsCsv("large_dataset.csv")
Çıktı

Sonuç
IronXL, C# dilinde CSV dosyası yönetimini yorucu bir görevden basit bir işleme dönüştürür. Hem CSV hem de Excel işlemleri için birleşik bir API sunarak, birden fazla kütüphane veya karmaşık çözümleme mantığı gereksinimini ortadan kaldırır. Kütüphanenin özel karakterlerin, veri türlerinin ve kodlama sorunlarının otomatik olarak ele alınması, farklı sistemler ve yerel ortamlar arasında güvenilir veri dışa aktarımı sağlar.
İster raporlama sistemleri, veri entegrasyon hatları veya basit dışa aktarma özellikleri oluşturuyor olun, IronXL verimli CSV yönetimi için gereken araçları sağlar. Mevcut Excel dosyaları ve DataTable yapıları ile uyumluluğu, büyük yeniden yapılandırma yapmadan mevcut uygulamalara entegrasyonu kolaylaştırır. CSV dosyalarınız oluşturulduktan sonra, doğrudan Excel'de açabilir veya hızlı doğrulama veya sorun giderme için herhangi bir metin düzenleyicide ham formatlarını inceleyebilirsiniz.
CSV işlemlerinizi streamline etmeye hazır mısınız? Bir ücretsiz deneme ile başlayın ve profesyonel destek ve güncellemeler dahildir.

Sıkça Sorulan Sorular
C#'da verileri CSV'ye kaydetmek için IronXL kullanmanın avantajı nedir?
IronXL, verileri CSV'ye kaydetmeyi iceren ancak Excel uyumluluğu da sunarak özel karakterleri, birden fazla veri türünü ve büyük veri kumelemelerini yönetmeyi kolaylaştıran kapsamlı bir API sağlar.
IronXL, CSV dosyalarinda özel karakterleri nasil yönetir?
IronXL, veri bütünlüğünü dosya işlemleri sırasında saglayarak kuvvetli ayrıştırma ve yazma yetenekleri sayesinde CSV dosya içeriklerinde özel karakterleri etkili bir şekilde yönetir.
IronXL, CSV'ye kaydederken büyük veri kumelemelerini yönetebilir mi?
Evet, IronXL, büyük veri kumelemelerini etkili bir şekilde yönetmek için tasarlanmıştır ve verileri CSV dosyalarina hız veya güvenilirlikten ödün vermeden kaydetmek için performans optimize edilmiş bir yöntem sunar.
IronXL, CSV işlemleri için birden fazla veri türünü destekliyor mu?
IronXL, karmasik veri kümelerini uyum sorunları yaşamadan CSV formatına kolayca dışa aktarabilen birden fazla veri türünü destekler.
IronXL, CSV dosyalarını işlerken Excel ile uyumlu mu?
IronXL tam Excel uyumluluğu sunar, bu da onu bir hesap tablosu verisi ile calisan geliştiriciler için çok yonlu bir arac haline getirir.
IronXL'nin c#'da CSV dosya yönetimi için güçlü bir çözüm olmasını sağlayan nedir?
IronXL'nin kapsamlı ve güçlü CSV işlem çözümü, kapsamlı API'si sayesindedir ve Excel uyumluluğu, büyük veri kümeleri desteği gibi ek işlevler sunar.
IronXL, C#'da CSV'ye kaydetme işlemini nasil kolaylaştırır?
IronXL, CSV dosya yönetiminde bulunan karmaşıklıkları soyutlayarak, verilerin CSV'ye etkin bir şekilde kaydedilmesini sağlamak için geliştiricilere doğrudan yöntemler sunarak süreci kolaylaştırır.




