Altbilgi içeriğine atla
IRONXL KULLANARAK

.NET'te IronXL ile CSV Dosyalarını Nasıl Yazılır

.NET Geliştiricileri Neden Daha İyi Bir CSV Çözümüne İhtiyaç Duyar?

CSV dosyaları, sayısız .NET uygulaması üzerinde veri alışverişine güç sağlar -- ve standart kütüphane seçenekleri gerçek dünya karmaşıklığını ele almanız gerektiğinde genellikle yetersiz kalır. Finansal raporlardan envanter sistemlerine kadar, programlamacı olarak yalnızca birkaç satır kodla CSV dosyaları oluşturabilirsiniz. CsvHelper gibi kütüphaneler temel CSV işlemlerini kapsarken, modern geliştiriciler karmaşık senaryolarla karşı karşıya kalır: formüllerle dolu Excel defterlerini dönüştürmek, veri türlerini dışa aktarma sırasında korumak ve kurumsal sınıf hesap tablosu iş akışlarını yönetmek. IronXL, güvenilir CSV yazma işlemini tam Excel işlevselliği ile birleştirerek RFC 4180 standartlarını izleyen tek bir bağımlılıksız kütüphanede bu zorlukları ele alır.

Bu, birden fazla sütunu destekleyen, satıra özel işlem mantığı ve otomatik olarak çıkarılan ayırıcılar ile özel bir .NET CSV yazıcı veya .NET CSV ayrıştırıcı oluşturma hedefi olan geliştiriciler için idealdir. Bu eğitim, temel dosya oluşturmadan kurumsal ölçekli veri ihracatına kadar IronXL'un CSV yeteneklerinde size rehberlik eder.

IronXL Nasıl Kurulur ve Ayarlanır?

IronXL, NuGet Paket Yöneticisi üzerinden birkaç saniyede kurulur. Package Manager Konsolu veya .NET CLI'yi kullanabilirsiniz:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

Kurulduktan 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 ifadeleri kullanarak CSV'ye 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", ",")
$vbLabelText   $csharpLabel

Bu basit program, C# kodunuzdan doğrudan CSV içeriğini nasıl yazacağınızı gösterir, verilerinizi tutan bir WorkBook nesnesi oluşturur. SaveAsCsv yöntemi varsayılan olarak ayırıcı olarak virgül kullanır, ancak herhangi bir ayırıcı karakter belirlemenize olanak tanır -- noktalı virgül veya sekmelerin standart sütun ayırıcı olduğu yerel senaryolar için kullanışlıdır.

Çalışma Kitabı ve Çalışma Sayfası Modelini Anlamak

IronXL, verileri çalışma kitabından çalışma sayfasına hiyerarşi ile düzenler. Bir WorkBook, her biri bir hücre ızgarasını temsil eden bir veya daha fazla WorkSheet nesnesi için bir konteyner gibi davranır. CSV'ye aktarirken, IronXL her calisma sayfasi icin bir dosya oluşturur ve bunlara filename.SheetName.csv deseniyle isim verir.

Bu model, yeni dosyalar oluşturuyor, mevcut Excel çalışma kitaplarını yüklüyor veya verileri bir veritabanından ihraç ediyor olun fark etmeksizin size tutarlı bir API sunar. Hucrelere, standart Excel gösterimi (A1, B2) veya 0 bazli satir ve sutun tam sayilari kullanarak referans verebilirsiniz, calisma seklinize hangisi uyuyorsa.

Özel Ayırıcılarla CSV Dosyalarını Nasıl Yazarsınız?

Farklı bölgeler ve sistemler farklı sütun ayırıcılar bekler. Avrupa yerel ayarları, ondalık sayılarda virgüller bulunduğu için genellikle noktalı virgül kullanır. Sekme ile ayrılmış değerler (TSV), biyoinformatik ve günlük işleme hatlarında yaygındır. IronXL'in SaveAsCsv metodu, herhangi bir karakteri ayirici 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)
$vbLabelText   $csharpLabel

Ayırıcı dize, ek bir ayrıştırma yapılandırması gerektirmeden doğrudan ayırıcı karakter yuvasına yerleştirilir. IronXL, ayırıcı karakter içeren hücrelerin alıntılanmasını yönetir, kurul çıkışının RFC 4180ye uygun olmasını sağlar.

Excel Çalışma Kitaplarını CSV'ye Nasıl Dönüştürülür?

IronXL kullanarak .NET CSV Yazici Oluşturma: Sekil 1 - IronXL ile Örnek CSV cikti

Excel dosyalarını CSV'ye dönüştürme, formülleri değerlendirme ve veri bütünlüğünü koruma konusunda IronXL mükemmel performans gösterir. Başlık sıralarını ve dinamik olarak hesaplanan değerleri içeren elektronik tablolarla çalışırken bu esastır.

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", ",")
$vbLabelText   $csharpLabel

Çoklu sayfa defterleri dönüştürülürken, IronXL her bir çalışma sayfası için bireysel CSV dosyaları otomatik olarak oluşturur. Formül hesaplamaları dışa aktarma öncesi gerçekleştirilir, böylece nihai CSV çıktısında doğru veriler elde edilir. EvaluateAll yöntemi, disk'e yazılmadan önce tüm formülleri, sayfalar arası referanslar dahil, çözümler.

Çıktı

İlk olarak, çok yapraklı Excel dosyasından oluşturulan CSV dosyalarını burada görebilirsiniz:

IronXL kullanarak .NET CSV Yazici Oluşturma: Sekil 2 - CSV dosyalari

Ve bu, Excel sayfalarından biri ile karşılık gelen CSV dosyasının örnek bir karşılaştırması:

IronXL kullanarak .NET CSV Yazici Oluşturma: Sekil 3 - Örnek cikti

Bir DataTable CSV'ye Nasıl Dışa Aktarılır?

Veritabanı odaklı uygulamalar icin IronXL, DataTable dışa aktarımlarını kolaylaştırır. Asagidaki örnek, bir DataTable'yi sahte bir veri kaynagindan okur ve onu noktalı virgul ayiriciyla 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", ";")
$vbLabelText   $csharpLabel

DataTable'den iceri aktarirken, dataTable.Rows koleksiyonundaki her satir, calisma sayfasinda yeni bir satir olur. IronXL, donusum sırasında veri türlerini korur -- sayilar sayi olarak kalir, tarihlerin formati korunur ve metin, ozel karakterleri ek ayarlamalar gerektirmeden ele alir.

Çıktı

Burada, sahte veri kaynaginin cikti CSV dosyasinin yaninda oldugunu gorebilirsiniz:

IronXL kullanarak .NET CSV Yazici Oluşturma: Sekil 4 - DataTable CSV'ye veri aktarma

Şimdi IronXL ile başlayın.
green arrow pointer

IronXL, CSV Dosyaları Yazmak İçin CsvHelper ile Nasıl Kıyaslanır?

Bu calisan verisi disari aktarma senaryosunu dusunun, her iki kutuphane ile de CSV yazma iş akışlarını gösterir.

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
$vbLabelText   $csharpLabel

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", ",")
$vbLabelText   $csharpLabel
IronXL vs CsvHelper Özellik Karsilastirmasi
Özellik CsvHelper IronXL
Temel CSV Yazımı Evet Evet
Excel'den CSV'ye Dönüşüm Hayır Evet
Formül Değerlendirmesi Hayır Evet
Çoklu Sayfa İşleme Hayır Evet
Veri Türü Korunumu Manuel Otomatik
Excel Format Desegi (XLSX, XLS, XLSM) Hayır Evet
MS Office Gerekmez Evet Evet
Hucre Biçimlendirme ve Stiller Hayır Evet
Platformlar arası (.NET 10 Destegi) Evet Evet

CsvHelper, POCO nesnelerinin dogrudan serileştirilmesini verimli bir sekilde ele alir. IronXL, mevcut Excel dosyalarını yukleme, ihracattan once formulleri degerlendirme veya ince ayarli kontrol ile calisma sayfasi araliklarini yonetme gibi ek yetenekler saglar. Is akisiniza is kullanicilarindan gelen .xlsx dosyalarini alip alt sistemler icin CSV'ye dönüştürmek dahilse, IronXL işleminizden tüm bir donusum adimini cikartir.

IronXL, CSV Dışa Aktarımı İçin Hangi Kurum Özellikleri Sunar?

IronXL'in SaveAsCsv metodu, bircok uretime hazır özellikler ile birlikte gelir:

IronXL CSV Disari Aktarma Kurumsal Özellikleri
Özellik Açıklama Kullanım Durumu
Ozel Ayiricilar Virgul, noktalı virgül, sekme veya herhangi bir karakter Bolgesel yerel uyumluluk
Kodlama Seçenekleri UTF-8, UTF-16 ve özel kodlamalar Uluslararası karakter setleri
Formül Değerlendirmesi Excel formullerini dışa aktarmadan once hesaplar Finansal raporlar, dinamik veriler
Platformlar arası Destek Windows, Linux, macOS Bulut ve konteyner dağıtımları
Çok sayfalı Dışa Aktarma Her bir çalışma sayfası için bir CSV dosyası Karmaşık çalışma kitabı yapıları
RFC 4180 Uyumluluğu Ozel karakterler icin otomatik alintilama Garantili birlikte çalışabilirlik

Hucre veri formatlama işlemi, sayilarin, paraların ve tarihlerinin CSV çıktısında nasıl görüntülenecegini kontrol etmek icin disari aktarmadan once uygulanabilir. Buyuk veri setleri icin, calisma sayfasi araliklari islmeleri kullanarak veriyi parcalar halinde isleyin, böylece bellek kullanımı öngörülebilir olur.

Platformlar arası destek, IronXL destekli CSV oluşturmalarını Kubernetes veya Azure App Service üzerindeki Linux konteynerlerine hicbir kod değişikligi yapmadan dağıtabileceğiniz anlamina gelir. Kutuphane hicbir yönetilmeyen bağımlılık içermez, bu nedenle isletim sistemlerinde ayni sekilde calisir. IronXL platform uyumluluk kılavuzunu inceleyerek desteklenen çalışma ortamları hakkında tam bilgilere ulaşabilirsiniz.

Yaygın CSV Dışa Aktarma Sorunları Nasıl Ele Alınır?

Genis olanda CSV dışa aktarma çalışırken birkaç öngörülebilir sorun ortaya çıkıyor. Bu sorunların hepsini nasıl ele alacağınızı işte böyle açıklıyoruz:

Veri icindeki ozel karakterler: IronXL, hucre degerlerinin icindeki alıntıları, virgulleri ve yeni satırları otomatik olarak kacirir. Dizeleri onceden işlemek veya ozellestirilmiş kacis mantigi yazmak zorunda degilsiniz -- kutuphane RFC 4180 alintilama kurallarini icsel olarak yönetir.

Buyuk dosya işleme: Onbinlerce satira sahip calisma kitaplari icin calisma sayfasi araliklari kullanarak verileri toplu olarak isleyin. Son dışa aktarma öncesinde ara sayfalara yazmak, bellek tahsisini kontrol etmenizi saglar.

Kodlama sorunlari: Uluslararası karakterler, Asya yazıları veya hucre degerlerinde emoji iceren durumlarda UTF-8 kodlamasini acikça belirtin. IronXL, UTF-8 ve UTF-16 kodlamayı kutuphane icinde destekler, bu nedenle ucuncu parti bir kodlama kütüphanesi gerekmez.

Eksik veya yanlış yazılmış veri: IronXL, sayıları ve tarih biçimlerini varsayılan olarak korur. Bir hucre eksik veriye referans veren bir formulu icerdiginde, EvaluateAll(), bos metin sessizce yaymak yerine hata degeriyle cozulecektir, boylece veri kalitesi sorunlari hattin basinda gorunur hale gelir.

Ayirici catisma: Veriniz ayirici karakteri icerdiginde (ornegin, ayirici olarak virgul kullanildiginda $1,200.00 iceren bir fiyat alani), IronXL degeri otomatik olarak RFC 4180 kurallarina gore cift tirnak icine alir.

Detayli bilgiler icin IronXL CSV dokumentasyonu, API referansi ve destek kaynaklarini ziyaret edin.

IronXL ile CSV Dosyalarını Nasıl Okur ve Ayrıştırırsınız?

CSV yazma, hikayenin sadece yarısıdır. IronXL ayrıca, bir calisma kitabı yapısına ayrıştırıp CSV okuma ve ayrıştırma yönetimini ele alır, bu yapı icerisinde çıxarıma, filtrelere uygulanabilir ve herhangi bir formata dışa aktarılmadan önce dönüştürülebilir.

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", ",")
$vbLabelText   $csharpLabel

IronXL ile bir CSV dosyasini yüklemek, sıralama, filtreleme ve formula degerlendirme dahil olmak üzere tam calisma sayfasi API'sine erişim saglar. Yuklenen veriyi Kaydet kullanarak bir Excel dosyasi olarak kaydedebilir, teklı bir metod cagrısı ile CSV'yi XLSX'e dönüştürebilirsiniz -- bu, rapor oluşturma hizmetleri kurarken sıkça gereken bir durumdur.

CSV Verisini Dışa Aktarmadan Önce Nasıl Dogrularsınız?

Dışa aktarmadan once veri doğrulama, boru hattındaki arıza durumlarını onler. IronXL, hucre degerlerine ve tiplerine doğrudan erişim sağlar, böylece null olup olmadığını kontrol edebilir, sayısal aralıkları uygulayabilir ve yazım hatalı tarihlerı yazmadan once 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
$vbLabelText   $csharpLabel

Bu desen, hatalı satırların reddedilmesi ve kaydedilmesi gerektigi, sessizce dışa aktarılmaması gereken ETL boru hatlarında özellikle degerlidir. Hücre veri erişim yöntemleri IronXL'in RangeRow ve Cell nesneleri üzerinde güçlü tipte degerler dondurur, sessiz tip zorlamasi hatalarini azaltir.

IronXL ile CSV Yazmaya Nasıl Başlarsınız?

IronXL, CSV yazımını bir ayrıştırma zorluğundan doğrudan bir operasyon haline getirir. CSV işlevselliğini Excel calisma kitabı desteği, formüla değerlendirme ve otomatik tür işleme ile birleştirerek, coklu kutuphaneleri veya manuel veri dönüştürmeleri yonetme karmasikligini kaldırır.

Ücretsiz deneme tüm özelliklere tam erişim saglar -- coklu sayfa disari aktarmaları, formüla değerlendirmesi ve platformlar arası dağıtım dahil -- geliştirme sürecinde lisans anahtarı gerekmeden. Üretime hazır hale geldiginde, lisanslama ticari kullanım için kapsayici olan tek bir geliştirici katmanından başlar.

Başlamak için Ana Kaynaklar:

Üretime hazır CSV iş akışlarını kurmaya hazır mısınız? Ücretsiz denemenize başlayın ve ilk CSV dışa aktarımınızı beş dakika içinde çalıştırsın.

Sıkça Sorulan Sorular

IronXL ne için kullanilir?

IronXL, Excel dosyalariyla calismak için tasarlanmis bir .NET kütüphanesidir. Geliştiricilerin Excel belgelerini oluşturmasina, okumasina, düzenlemesine ve bunlari CSV gibi çeşitli formatlara disa aktarmasina olanak tanir, veri turlerini korur ve karmaşık hesap tablosu senaryolarini yönetir.

IronXL, .NET'de CSV yazma konusunda nasil yardimci olabilir?

IronXL, Excel calisma kitaplarini CSV formatina disa aktarma fonksiyonelligi sunar, veri turlerinin korunmasini ve karışık hesap tablosu senaryolarinin etkili bir şekilde ele alinmasini saglar. Bu özellikler, güvenilir bir CSV yazma çözümune ihtiyaç duyan .NET geliştiricileri için ideal bir seçim haline getirir.

Gelisitriciler neden CSV işlemleri için IronXL kullanmayi dusunmelidir?

Gelisitriciler, IronXL'nin Excel dosyalarini CSV'ye sorunsuz bir şekilde disa aktarabilme kabiliyeti, büyük veri setlerini ele alabilme ve veri turlerinin butunlugunu koruma özellikleri nedeniyle .NET uygulamalarinda CSV işlemleri için ustun bir çözüm oldugu için kullanmayi dusunmelidir.

IronXL'nin hesap tablosu yönetimi için kullanıminin avantajlari nelerdir?

IronXL'nin hesap tablosu yönetimi için kullanilmasinin avantajlari, Excel belgelerinin kolayca düzenlenmesi, CSV gibi çeşitli dis aktarim formatlarinin desteklenmesi ve karmaşık veri yapilarini ve büyük veri setlerini .NET uygulamalarinda verimli bir şekilde ele alma yetenegini icerir.

IronXL, CSV'ye aktarirken büyük Excel dosyalarini ele alabilir mi?

Evet, IronXL, büyük Excel dosyalarini verimli bir şekilde ele almak için tasarlanmistir. Geliştiricilerin, performans veya veri butunlugu konusunda taviz vermeden büyük miktarlarda veriyi CSV'ye disa aktarmalarina olanak tanir.

IronXL, CSV'ye aktarirken veri turlerinin korunmasini nasil saglar?

IronXL, Excel verilerini CSV formatina doğru bir şekilde cevirerek ve asli veri turleri ve yapilarini koruyarak veri turlerinin korunmasini saglar, bu da kesin veri yönetimi gerektiren uygulamalar için önemlidir.

IronXL, karmasik hesap tablosu senaryolari için uygun mu?

IronXL, karmasik hesap tablosu senaryolari için iyi bir şekilde uygundur. Gelişmiş özellikler sunarak ayrintili Excel belgelerini yönetip düzenlemenizi ve verilerin CSV veya diğer formatlara doğru bir şekilde aktarilmasini garanti eder.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

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