.NET'te IronXL ile CSV Dosyalarını Nasıl Yazılır
.NET Geliştiricileri Neden Daha İyi Bir CSV Çözümüne İhtiyaç Duyuyor?
CSV dosyaları, sayısız .NET uygulamasında veri alışverişini sağlar -- ve gerçek dünya karmaşıklığını ele almanız gerektiğinde, standart kütüphane seçenekleri genellikle yetersiz kalır. Finansal raporlardan envanter sistemlerine kadar, programatik olarak birkaç satır kodla CSV dosyaları oluşturabilirsiniz. CsvHelper gibi kütüphaneler temel CSV işlemlerini karşılasa da, modern geliştiriciler formüllerle Excel çalışma kitapları dönüştürme, verileri aktarma sırasında veri türlerini koruma ve kurumsal düzeyde tablo süreçleriyle uğraşma gibi karmaşık senaryolarla karşılaşıyorlar. IronXL, bu zorlukları, tam Excel işlevselliği ile birleştirerek çözer. Bağımsız ve RFC 4180 standartlarına uygun bir kütüphanede güvenilir CSV yazma.
Bu, birden fazla sütunu destekleyen, satır özelinde işleme mantığı olan ve otomatik olarak çıkarsanan ayırıcıları olan özel bir .NET CSV yazıcısı veya .NET CSV ayrıştırıcısı oluşturan geliştiriciler için idealdir. Bu eğitim, temel dosya oluşturma'dan kurumsal ölçekli veri dışa aktarımına kadar IronXL'nin CSV yeteneklerini anlatıyor.
IronXL Nasıl Yüklenir ve Kurulur?
IronXL, NuGet Paket Yöneticisi aracılığıyla saniyeler içinde yüklenir. Paket Yöneticisi Konsolu veya .NET CLI'yi kullanabilirsiniz:
Install-Package IronXL.Excel
Yükledikten sonra, IronXL ad alanını ekleyin ve hemen CSV dosyaları yazmaya başlayın. Aşağıdaki örnek, bir çalışma kitabı oluşturmayı, verilerle doldurmayı ve .NET 10'da üst düzey ifadeler kullanarak CSV'ye dışa aktarmayı gösterir.
using IronXL;
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add headers
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
workSheet["A3"].Value = "Gadget";
workSheet["B3"].Value = 250;
workSheet["C3"].Value = 34.50;
workSheet["A4"].Value = "Component";
workSheet["B4"].Value = 75;
workSheet["C4"].Value = 8.99;
// Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",");
using IronXL;
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("data");
// Add headers
workSheet["A1"].Value = "Product";
workSheet["B1"].Value = "Quantity";
workSheet["C1"].Value = "Price";
// Add data rows
workSheet["A2"].Value = "Widget";
workSheet["B2"].Value = 100;
workSheet["C2"].Value = 19.99;
workSheet["A3"].Value = "Gadget";
workSheet["B3"].Value = 250;
workSheet["C3"].Value = 34.50;
workSheet["A4"].Value = "Component";
workSheet["B4"].Value = 75;
workSheet["C4"].Value = 8.99;
// Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",");
Imports IronXL
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")
' Add headers
workSheet("A1").Value = "Product"
workSheet("B1").Value = "Quantity"
workSheet("C1").Value = "Price"
' Add data rows
workSheet("A2").Value = "Widget"
workSheet("B2").Value = 100
workSheet("C2").Value = 19.99
workSheet("A3").Value = "Gadget"
workSheet("B3").Value = 250
workSheet("C3").Value = 34.5
workSheet("A4").Value = "Component"
workSheet("B4").Value = 75
workSheet("C4").Value = 8.99
' Save as CSV with comma delimiter
workBook.SaveAsCsv("inventory.csv", ",")
Bu basit program, verilerinizi tutan bir WorkBook nesnesi oluşturarak doğrudan C# kodunuzdan CSV içeriği yazmayı gösterir. SaveAsCsv yöntemi, varsayılan ayırıcı olarak virgül kullanır, ancak her türlü ayırıcı karakteri belirlemenize olanak tanır -- farklı yerel senaryolarda standart sütun ayırıcısı olarak noktalı virgül veya sekmelerin kullanılabileceği durumlarda kullanışlıdır.
WorkBook ve WorkSheet Modelini Anlamak
IronXL, verileri bir çalışma kitabından çalışma sayfasına kadar bir hiyerarşi üzerinden düzenler. Bir WorkBook, bir veya daha fazla WorkSheet nesnesi için bir kap olarak hareket eder, her biri bir hücre ızgarasını temsil eder. CSV'ye aktardığınızda, IronXL her çalışma sayfası için bir dosya oluşturur ve onları filename.SheetName.csv deseni ile adlandırır.
Bu model, sıfırdan yeni dosyalar oluşturma, mevcut Excel çalışma kitaplarını yükleme veya bir veritabanından veri ihraç ediyor olsanız da, tutarlı bir API sunar. Hücrelere standart Excel notasyonu (A1, B2) veya sıfır tabanlı satır ve sütun tam sayıları kullanarak başvurursunuz, hangisi çalışma akışınıza uygunsa.
Özel Ayırıcılarla CSV Dosyaları Nasıl Yazılır?
Farklı bölgeler ve sistemler farklı sütun ayırıcıları bekler. Avrupa'daki lokasyonlar noktalı virgülleri sıkça kullanır çünkü virgüller ondalık sayılarda bulunur. Sekmeyle ayrılmış değerler (TSV), biyoenformatik ve günlük işleme boru hatlarında yaygındır. IronXL'nin SaveAsCsv metodu, herhangi bir dizgiyi ayraç olarak kabul eder:
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
workSheet["A1"].Value = "Region";
workSheet["B1"].Value = "Revenue";
workSheet["C1"].Value = "Units";
workSheet["A2"].Value = "Europe";
workSheet["B2"].Value = "1250000.50";
workSheet["C2"].Value = 3400;
workSheet["A3"].Value = "Hayırrth America";
workSheet["B3"].Value = "2800000.00";
workSheet["C3"].Value = 7200;
// Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";");
// Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", "\t");
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
workSheet["A1"].Value = "Region";
workSheet["B1"].Value = "Revenue";
workSheet["C1"].Value = "Units";
workSheet["A2"].Value = "Europe";
workSheet["B2"].Value = "1250000.50";
workSheet["C2"].Value = 3400;
workSheet["A3"].Value = "Hayırrth America";
workSheet["B3"].Value = "2800000.00";
workSheet["C3"].Value = 7200;
// Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";");
// Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", "\t");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("sales")
workSheet("A1").Value = "Region"
workSheet("B1").Value = "Revenue"
workSheet("C1").Value = "Units"
workSheet("A2").Value = "Europe"
workSheet("B2").Value = "1250000.50"
workSheet("C2").Value = 3400
workSheet("A3").Value = "Hayırrth America"
workSheet("B3").Value = "2800000.00"
workSheet("C3").Value = 7200
' Semicolon delimiter for European locales
workBook.SaveAsCsv("sales_europe.csv", ";")
' Tab delimiter for TSV output
workBook.SaveAsCsv("sales_tsv.tsv", vbTab)
Ayırıcı dizesi, ek bir ayrıştırma yapılandırması olmadan doğrudan ayırıcı karakter yuvasına gider. IronXL, ayırıcı karakteri içeren hücreler için alıntı yapma işlemini gerçekleştirir ve çıktının RFC 4180'ya uygun olmasını sağlar.
Excel Çalışma Kitaplarını CSV'ye Nasıl Dönüştürürsünüz?

IronXL, mevcut Excel dosyalarını CSV'ye dönüştürmede, formülleri değerlendirmede ve veri bütünlüğünü korumada mükemmeldir. Bu, hem başlık satırlarını hem de dinamik olarak hesaplanan değerleri içeren elektronik tablolarla çalışırken gereklidir.
using IronXL;
// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll();
// Export to CSV -- each worksheet creates a separate CSV file
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",");
using IronXL;
// Load an Excel file with formulas and formatting
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
// Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll();
// Export to CSV -- each worksheet creates a separate CSV file
// Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",");
Imports IronXL
' Load an Excel file with formulas and formatting
Dim workBook As WorkBook = WorkBook.Load("financial_report.xlsx")
' Evaluate all formulas before export so calculated values appear in CSV
workBook.EvaluateAll()
' Export to CSV -- each worksheet creates a separate CSV file
' Creates: report.Sheet1.csv, report.Sheet2.csv, etc.
workBook.SaveAsCsv("report.csv", ",")
Çok sayfalı çalışma kitaplarını dönüştürürken, IronXL her çalışma sayfası için ayrı CSV dosyaları oluşturur. Son CSV çıktısında doğru verilerin temin edilmesini sağlayarak, formül hesaplamaları ihracat öncesinde gerçekleştirilir. Formülleri Değerlendir yöntemi, tüm formülleri çözmeden önce, çapraz sayfa referansları da dahil olmak üzere, dosyanın diske yazılmasını sağlar.
Çıktı
İlk olarak, çok sayfalı Excel dosyasından üretilen CSV dosyalarını burada görebilirsiniz:

Ve işte Excel sayfalarından birinin karşılaştırılması örneği ve karşılık gelen CSV dosyası:

Bir DataTable'ı CSV'ye Nasıl Aktarırsınız?
Veritabanı odaklı uygulamalar için, IronXL DataTable ihracatları sağlar. Aşağıdaki örnek, sahte bir veri kaynağından bir DataTable okur ve bunu noktalı virgül ayraç ile CSV'ye yazar:
using System.Data;
using IronXL;
// Simulate a DataTable from a database query
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Write column headers from DataTable schema
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName);
}
// Write data rows
int row = 1;
foreach (DataRow dataRow in dataTable.Rows)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(row, col, dataRow[col]?.ToString() ?? string.Empty);
}
row++;
}
// Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";");
using System.Data;
using IronXL;
// Simulate a DataTable from a database query
DataTable dataTable = GetSalesData();
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("sales");
// Write column headers from DataTable schema
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName);
}
// Write data rows
int row = 1;
foreach (DataRow dataRow in dataTable.Rows)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
workSheet.SetCellValue(row, col, dataRow[col]?.ToString() ?? string.Empty);
}
row++;
}
// Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";");
Imports System.Data
Imports IronXL
' Simulate a DataTable from a database query
Dim dataTable As DataTable = GetSalesData()
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("sales")
' Write column headers from DataTable schema
For col As Integer = 0 To dataTable.Columns.Count - 1
workSheet.SetCellValue(0, col, dataTable.Columns(col).ColumnName)
Next
' Write data rows
Dim row As Integer = 1
For Each dataRow As DataRow In dataTable.Rows
For col As Integer = 0 To dataTable.Columns.Count - 1
workSheet.SetCellValue(row, col, If(dataRow(col)?.ToString(), String.Empty))
Next
row += 1
Next
' Export with semicolon delimiter for European compatibility
workBook.SaveAsCsv("sales_data.csv", ";")
DataTable'den içe aktarma yapıldığında, dataTable.Rows koleksiyonundaki her bir satır, çalışma sayfasında yeni bir satır olur. IronXL, dönüştürme sırasında veri türlerini korur - sayılar sayısal kalır, tarihler formatını korur ve metin özel karakterleri ek yapılandırma olmadan ele alır.
Çıktı
Burada, çıkış CSV dosyasının yanında sahte veri kaynağını görebilirsiniz:

IronXL, CSV Dosyaları Yazarken CsvHelper ile Nasıl Karşılaştırılır?
Her iki kütüphane ile CSV yazma iş akışlarını gösteren bu çalışan verisi dışa aktarma senaryosunu düşünün.
CsvHelper Uygulaması:
using System.Globalization;
using System.IO;
using CsvHelper;
using var writer = new StreamWriter("employees.csv");
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.WriteRecords(employees);
using System.Globalization;
using System.IO;
using CsvHelper;
using var writer = new StreamWriter("employees.csv");
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.WriteRecords(employees);
Imports System.Globalization
Imports System.IO
Imports CsvHelper
Using writer As New StreamWriter("employees.csv")
Using csv As New CsvWriter(writer, CultureInfo.InvariantCulture)
csv.WriteRecords(employees)
End Using
End Using
IronXL Uygulaması:
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
int rowIndex = 1;
foreach (var emp in employees)
{
workSheet[$"A{rowIndex}"].Value = emp.Name;
workSheet[$"B{rowIndex}"].Value = emp.Salary;
workSheet[$"C{rowIndex}"].Value = emp.StartDate;
rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
using IronXL;
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("employees");
int rowIndex = 1;
foreach (var emp in employees)
{
workSheet[$"A{rowIndex}"].Value = emp.Name;
workSheet[$"B{rowIndex}"].Value = emp.Salary;
workSheet[$"C{rowIndex}"].Value = emp.StartDate;
rowIndex++;
}
workBook.SaveAsCsv("employees.csv", ",");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("employees")
Dim rowIndex As Integer = 1
For Each emp In employees
workSheet($"A{rowIndex}").Value = emp.Name
workSheet($"B{rowIndex}").Value = emp.Salary
workSheet($"C{rowIndex}").Value = emp.StartDate
rowIndex += 1
Next
workBook.SaveAsCsv("employees.csv", ",")
| Özellik | CsvHelper | IronXL |
|---|---|---|
| Temel CSV Yazımı | Evet | Evet |
| Excel'den CSV'ye Dönüştürme | Hayır | Evet |
| Formül Değerlendirmesi | Hayır | Evet |
| Çok sayfalı İşleme | Hayır | Evet |
| Veri Türü Koruma | Elle | Otomatik |
| Excel Format Desteği (XLSX, XLS, XLSM) | Hayır | Evet |
| MS Office Gerektirmez | Evet | Evet |
| Hücre Biçimlendirme ve Tarzlar | Hayır | Evet |
| Çapraz platform (.NET 10 Desteği) | Evet | Evet |
CsvHelper, POCO nesnelerinin doğrudan serileştirilmesini etkili bir şekilde ele alır. IronXL, mevcut Excel dosyalarını yüklemeniz, ihracattan önce formülleri değerlendirmeniz veya çalışma sayfası aralıklarını ince ayrıntılı kontrolle yönetmeniz gerektiğinde ek yetenekler sağlar. Çalışma akışınız, iş kullanıcılarından .xlsx dosyaları almayı ve bunları bu sistemler için CSV'ye dönüştürmeyi içeriyorsa, IronXL, süreç hattınızdaki bir dönüşüm adımını tamamen kaldırır.
IronXL, CSV Dışa Aktarımı için Hangi Kurumsal Özellikleri Sağlar?
IronXL'nin SaveAsCsv metodu birçok üretime hazır yetenekle birlikte gelir:
| Özellik | Açıklama | Kullanım Örneği |
|---|---|---|
| Özel Ayırıcılar | Virgül, noktalı virgül, sekme veya herhangi bir karakter | Bölgesel yerel uyumluluk |
| Kodlama Seçenekleri | UTF-8, UTF-16 ve özel kodlamalar | Uluslararası karakter setleri |
| Formül Değerlendirmesi | Excel formüllerini dışa aktarmadan önce hesaplar | Finansal raporlar, dinamik veriler |
| Çapraz platform Desteği | Windows, Linux, macOS | Bulut ve konteyner dağıtımları |
| Çoklu sayfa Dışa Aktarımı | Her çalışma sayfası için bir CSV dosyası | Karmaşık çalışma kitabı yapıları |
| RFC 4180 Uyumlu | Özel karakterler için otomatik alıntı | Garantili birlikte çalışabilirlik |
Numaraların, para birimlerinin ve tarihlerinin CSV çıktısında nasıl görüneceğini kontrol etmek için ihracattan önce hücre veri formatını uygulayabilirsiniz. Büyük veri setleri için, bellek kullanımını öngörülebilir tutmak için çalışma sayfası aralığı işlemlerine kullanarak verileri parçalar halinde işleyin.
Çapraz platform desteği, IronXL destekli CSV üretiminizi Kubernetes veya Azure App Service üzerindeki Linux konteynerlerine kodunuzda herhangi bir değişiklik yapmadan dağıtabileceğiniz anlamına gelir. Kütüphane, yönetilmeyen bağımlılıklar içermez, böylece işletim sistemleri arasında aynı şekilde çalışır. IronXL platform uyumluluk kılavuzunu desteklenen çalışma zamanları hakkında tam detaylar için görünün.
Yaygın CSV Dışa Aktarma Sorunlarını Nasıl Ele Alırsınız?
Ölçekte CSV dışa aktarmalarıyla çalışırken, birkaç tahmin edilebilir sorun ortaya çıkar. İşte her birine nasıl çözüm bulunur:
Verilerde özel karakterler: IronXL, hücre değerlerindeki alıntıları, virgülleri ve yeni satırları otomatik olarak kaçar. Dizeleri ön işlemden geçirmeni veya özel kaçış mantığı yazmanıza gerek yok -- kütüphane RFC 4180 alıntı kurallarını içerde halleder.
Büyük dosya işlemesi: On binlerce satır içeren çalışma kitapları için, verileri gruplar halinde işlemek amacıyla çalışma sayfası aralıklarını kullanın. Son dışa aktarmadan önce ara sayfalara yazmak, bellek tahsisini kontrol etmenize olanak tanır.
Kodlama sorunları: Uluslararası karakterler, Asya yazıları veya hücre değerlerindeki emojilerle çalışırken, UTF-8 kodlamasını açıkça belirtin. IronXL, kutudan çıktığı anda UTF-8 ve UTF-16 kodlamasını destekler, bu yüzden üçüncü parti bir kodlama kütüphanesine gerek yoktur.
Eksik veya yanlış yazılmış veri: IronXL, sayısal ve tarih formatlarını varsayılan olarak korur. Bir hücre, eksik verileri referans alan bir formül içerdiğinde, EvaluateAll() bir hata değeri olarak çözümlenir, böylece veriyi sessizce boş metin olarak verir, veri kalitesi sorunlarının hattın başında görünmesini sağlar.
Ayraç çatışmaları: Verileriniz ayraç karakterini (örneğin, ayraç olarak virgül kullanıldığında $1,200.00 içeren bir fiyat alanı) içeriyorsa, IronXL değeri, RFC 4180 kurallarına göre otomatik olarak çift tırnak içine alır.
Detaylı bir rehberlik için, IronXL CSV dokümantasyonuna, API referansına ve destek kaynaklarına bakın.
IronXL ile CSV Dosyaları Nasıl Okunur ve Ayrıştırılır?
CSV yazmak hikayenin sadece yarısıdır. IronXL ayrıca CSV okuma ve ayrıştırma işlemleri, virgülle ayrılmış verileri sorgulayabileceğiniz, filtreleyebileceğiniz ve istediğiniz bir formata dönüştürmeden önce dönüştürebileceğiniz bir çalışma kitabı yapısında yükler.
using IronXL;
// Load an existing CSV file into a workbook
WorkBook workBook = WorkBook.Load("sales_data.csv");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Iterate over rows and process data
foreach (var row in workSheet.Rows)
{
string product = row["A"].ToString();
int quantity = row["B"].IntValue;
decimal price = (decimal)row["C"].DoubleValue;
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}");
}
// Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",");
using IronXL;
// Load an existing CSV file into a workbook
WorkBook workBook = WorkBook.Load("sales_data.csv");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Iterate over rows and process data
foreach (var row in workSheet.Rows)
{
string product = row["A"].ToString();
int quantity = row["B"].IntValue;
decimal price = (decimal)row["C"].DoubleValue;
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}");
}
// Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",");
Imports IronXL
' Load an existing CSV file into a workbook
Dim workBook As WorkBook = WorkBook.Load("sales_data.csv")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Iterate over rows and process data
For Each row In workSheet.Rows
Dim product As String = row("A").ToString()
Dim quantity As Integer = row("B").IntValue
Dim price As Decimal = CType(row("C").DoubleValue, Decimal)
Console.WriteLine($"Product: {product}, Qty: {quantity}, Price: {price:C}")
Next
' Apply a filter and re-export to a new CSV
workBook.SaveAsCsv("filtered_output.csv", ",")
IronXL aracılığıyla bir CSV dosyası yüklemek, tam çalışma sayfası API'sine erişmenizi sağlar, sıralamak, filtrelemek ve formül değerlendirmek dahil. SaveAs kullanarak yüklenen verileri bir Excel dosyası olarak da kaydedebilir ve CSV'yi XLSX'e tek bir yöntem çağrısıyla dönüştürebilirsiniz -- rapor oluşturma servislerini oluştururken yaygın bir gereksinimdir.
CSV Verilerini Dışa Aktarmadan Önce Nasıl Doğrularsınız?
Veri doğrulama, dışa aktarmadan önce, aşağı akışta boru hatası hatalarını önler. IronXL, hücre değerlerine ve tiplerine doğrudan erişim sağlar, böylece boşları kontrol edebilir, sayısal aralıkları zorlayabilir ve bozuk tarihleri yazmadan önce reddedebilirsiniz:
using IronXL;
WorkBook workBook = WorkBook.Load("input.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var errors = new List<string>();
for (int rowIdx = 1; rowIdx <= workSheet.RowCount; rowIdx++)
{
string productName = workSheet[$"A{rowIdx}"].StringValue;
double price = workSheet[$"C{rowIdx}"].DoubleValue;
if (string.IsNullOrWhiteSpace(productName))
errors.Add($"Row {rowIdx}: Product name is empty.");
if (price <= 0)
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).");
}
if (errors.Count == 0)
{
workBook.SaveAsCsv("validated_output.csv", ",");
Console.WriteLine("Export complete.");
}
else
{
foreach (var error in errors)
Console.WriteLine(error);
}
using IronXL;
WorkBook workBook = WorkBook.Load("input.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var errors = new List<string>();
for (int rowIdx = 1; rowIdx <= workSheet.RowCount; rowIdx++)
{
string productName = workSheet[$"A{rowIdx}"].StringValue;
double price = workSheet[$"C{rowIdx}"].DoubleValue;
if (string.IsNullOrWhiteSpace(productName))
errors.Add($"Row {rowIdx}: Product name is empty.");
if (price <= 0)
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).");
}
if (errors.Count == 0)
{
workBook.SaveAsCsv("validated_output.csv", ",");
Console.WriteLine("Export complete.");
}
else
{
foreach (var error in errors)
Console.WriteLine(error);
}
Imports IronXL
Dim workBook As WorkBook = WorkBook.Load("input.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim errors As New List(Of String)()
For rowIdx As Integer = 1 To workSheet.RowCount
Dim productName As String = workSheet($"A{rowIdx}").StringValue
Dim price As Double = workSheet($"C{rowIdx}").DoubleValue
If String.IsNullOrWhiteSpace(productName) Then
errors.Add($"Row {rowIdx}: Product name is empty.")
End If
If price <= 0 Then
errors.Add($"Row {rowIdx}: Price must be greater than zero (found {price}).")
End If
Next
If errors.Count = 0 Then
workBook.SaveAsCsv("validated_output.csv", ",")
Console.WriteLine("Export complete.")
Else
For Each error As String In errors
Console.WriteLine(error)
Next
End If
Bu desen, özellikle hatalı satırların sessizce dışa aktarılmak yerine reddedilmesi ve kaydedilmesi gereken ETL boru hatlarında değerlidir. IronXL'nin RangeRow ve Cell nesnelerindeki hücre veri erişim metotları, sessiz tür dönüşümü hatalarını azaltarak güçlü tipte değerler döndürür.
IronXL ile CSV Yazmaya Nasıl Başlarsınız?
IronXL, CSV yazmayı bir ayrıştırma zorluğundan doğrudan bir operasyona dönüştürür. Excel çalışma kitabı desteği, formül değerlendirme ve otomatik tip işleme ile CSV işlevselliğini birleştirerek, birden fazla kütüphane yönetiminin veya manuel veri dönüşümlerinin karmaşıklığını ortadan kaldırır.
Ücretsiz deneme, tüm özelliklere tam erişim sağlar -- çoklu sayfa dışa aktarımlar, formül değerlendirme ve çapraz platform dağıtımı dahil -- geliştirme sırasında lisans anahtarı gerektirmeden. Üretime hazır olduğunuzda, lisanslama ticari kullanım için tek geliştirici katmanından başlar.
Başlamak için anahtar kaynaklar:
- IronXL Dokümantasyon -- tam API referansı ve nasıl yapılır kılavuzları
- CSV'den Excel'e dönüşüm kılavuzu -- format dönüşümü için detaylı rehber
- DataTable ihracat eğitimi -- veritabanı odaklı ihracat kalıpları
- Çalışma sayfası aralığı işlemleri -- büyük veri kümelerini verimli bir şekilde işleme
- Sorun giderme kılavuzu -- yaygın entegrasyon sorunlarına çözümler
Üretime hazır CSV iş akışları inşa etmeye hazır mısınız? Ücretsiz denemenizi başlatın ve ilk CSV dışa aktarmasını beş dakika içinde çalışır hale getirin.
Sıkça Sorulan Sorular
IronXL ne için kullanılır?
IronXL, Excel dosyalarıyla çalışmak için tasarlanmış bir .NET kütüphanesidir, geliştiricilerin Excel belgelerini oluşturmasına, okumasına, değiştirmesine ve bunları CSV gibi çeşitli formatlara aktarırken veri türlerini koruyarak karmaşık elektronik tablo senaryolarını yönetmesine olanak tanır.
IronXL, .NET'te CSV yazma konusunda nasıl yardımcı olabilir?
IronXL, Excel kitaplıklarını CSV formatına dışa aktarma işlevsellikleri sunarak, veri türlerinin korunmasını ve karmaşık elektronik tablo senaryolarının etkili bir şekilde ele alınmasını sağlar, .NET geliştiricileri için sağlam bir CSV yazma çözümü sunar.
Geliştiriciler neden CSV işlemleri için IronXL kullanmayı düşünmeli?
Geliştiriciler, Excel dosyalarını CSV'ye sorunsuz bir şekilde dışa aktarma, büyük veri setlerini yönetme ve veri türlerinin bütünlüğünü koruma yeteneği nedeniyle, .NET uygulamalarında CSV işlemleri için üstün bir çözüm sunan IronXL'i kullanmayı düşünmelidir.
Elektronik tablo yönetimi için IronXL kullanmanın faydaları nelerdir?
IronXL'i elektronik tablo yönetimi için kullanmanın faydaları, Excel belgelerinin kolaylıkla düzenlenmesi, CSV gibi çeşitli dışa aktarma formatlarının desteklenmesi ve karmaşık veri yapıları ile büyük veri setlerini .NET uygulamalarında verimli bir şekilde yönetebilme yeteneğidir.
IronXL, CSV'ye aktarırken büyük Excel dosyalarını işleyebilir mi?
Evet, IronXL, performanstan veya veri bütünlüğünden ödün vermeden büyük miktarda veriyi CSV'ye aktarmayı mümkün kılarak büyük Excel dosyalarını verimli bir şekilde işleyebilir.
IronXL, CSV'ye dışa aktarırken veri türü korumasını nasıl sağlar?
IronXL, veri türü korumasını, Excel verilerini CSV formatına doğru şekilde dönüştürerek, orijinal veri türlerinin ve yapıların korunmasını sağlamaktadır, bu da doğru veri işleme gerektiren uygulamalar için önemlidir.
IronXL, karmaşık elektronik tablo senaryoları için uygun mu?
IronXL, karmaşık elektronik tablo senaryolarını yönetmek ve karmaşık Excel belgelerini manipüle etmek için gelişmiş özellikler sunar ve verilerin CSV gibi diğer formatlara doğru şekilde aktarılmasını sağlar.




