Altbilgi içeriğine atla
IRONXL KULLANARAK

C# Kullanarak CSV Dosyası Okuma (Kod Örneği Eğitimi)

Bu eğitim, ek bir örtüşen yükleme yapmadan, oldukça verimli ve etkili bir şekilde IronXL C# kütüphanesini kullanarak bir CSV dosyasını nasıl okuyabileceğinizi göstermektedir.

How to read CSV Files in C

MVC, ASP.NET veya .NET Core'da CSV dosyalarını okumak için IronXL'i kullanmadan önce kurmanız gerekir. İşte sürecin temel bir özeti.

Visual Studio'da Proje menüsünü seçin, NuGet Paketlerini Yönet'i seçin ve IronXL.Excel arayın ve yükleyin.

C# kullanarak CSV Dosyasını Okuma (Kod Örneği Eğitimi), Şekil 1: IronXL paketini NuGet Paket Yöneticisi'ne yükleyin NuGet Paket Yöneticisinde IronXL paketini kurun

C#'ta CSV dosyalarını okumak istediğinizde IronXL harika bir araçtır. Aşağıdaki kod örneği, virgüller veya başka bir sınırlayıcı kullanarak bir CSV dosyasını okuyabileceğinizi gösterir.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")

' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet

' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
$vbLabelText   $csharpLabel

C# kullanarak CSV Dosyasını Okuma (Kod Örneği Eğitimi), Şekil 2: Bu eğitim için CSV verisi Bu eğitim için CSV verileri

WorkBook nesnesi oluşturuldu. WorkBook nesnesinin LoadCSV yöntemi, okunacak CSV dosyasının adını, formatını ve CSV dosyasında kullanılan ayraçları belirtmek için kullanılır, bu bilgiler bir string dizisi olarak saklanır. Bu senaryo için sınırlayıcı olarak virgüller kullanılmaktadır.

Bundan sonra, bir WorkSheet nesnesi oluşturulur; bu, CSV dosyası içeriğinin saklanacağı yerdir. Dosya daha sonra yeniden adlandırılır ve yeni bir formatta saklanır. CSV dosyası verileri daha sonra çalışma sayfasında tablolama şeklinde düzenlenir. Çıktı şöyle görünecektir:

C# kullanarak CSV Dosyasını Okuma (Kod Örneği Eğitimi), Şekil 3: Verilerin Excel dosyasına dönüştürülmesi Veriler Excel dosyasına dönüştürüldü

CSV parsing in C# .NET

CSV'lerde, alanlardaki satır sonları ve alanların alıntı işaretleri içerisinde olmasıyla ilgili çeşitli sorunlar vardır, bu da basit bir string bölme tekniğinin çalışmasını Split("'") engeller. Bunun yerine, IronXL, LoadCSV yönteminin isteğe bağlı parametresini kullanarak ayırıcıyı özelleştirme imkanı sunar, daha fazla bilgi için LoadCSV API dokümanını kontrol edin.

C# Records — Reading CSV Data

Aşağıdaki örnekte, CSV dosyasındaki satırlar üzerinde yineleme yapmak için foreach döngüsü kullanılır ve veriler bir kayıtta yazılmak üzere Konsol kullanılır.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header

// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
    // Iterate through each column in the current row
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Output each cell value to the console
        Console.Write(row[i] + "  ");
    }
    // New line after each row
    Console.WriteLine();
}
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header

// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
    // Iterate through each column in the current row
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        // Output each cell value to the console
        Console.Write(row[i] + "  ");
    }
    // New line after each row
    Console.WriteLine();
}
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")

' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet

' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header

' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
	' Iterate through each column in the current row
	For i As Integer = 0 To dt.Columns.Count - 1
		' Output each cell value to the console
		Console.Write(row(i) & "  ")
	Next i
	' New line after each row
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

C# kullanarak CSV Dosyasını Okuma (Kod Örneği Eğitimi), Şekil 4: CSV dosyasından veriye erişme ve Konsola görüntüleme CSV dosyasından veriler alınır ve Konsola görüntülenir

Bir CSV Dosyası Dize Satırını Excel Formatına Dönüştürme

Prosedür basittir: bir CSV dosyasını yüklemek ve Excel dosyası olarak kaydetmektir.

// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")

' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet

' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")
$vbLabelText   $csharpLabel

Dönüştürülmüş CSV Dosyalarını IronXL kullanarak Okuma ve Manipülasyon

IronXL WorkBook sınıfı bir Excel sayfasını temsil eder ve bu sınıfı C#'da bir Excel dosyasını açmak için kullanır. Aşağıdaki kod örnekleri istediğiniz Excel dosyasını bir WorkBook nesnesine yükleyecektir:

// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
$vbLabelText   $csharpLabel

WorkSheet nesneleri birçok Çalışma Kitabında bulunabilir. Bunlar, Excel belgesinin çalışma sayfalarıdır. Çalışma kitabında çalışma sayfaları varsa, onları isimlerine göre aşağıdaki şekilde alabilirsiniz:

// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
$vbLabelText   $csharpLabel

Hücre değerlerini okuma kodu:

// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Aşağıdaki kod örneği, çalışma kitabı ve çalışma sayfasını yükledikten ve okuduktan sonra formülleri güncelleyebilir veya belirli hücrelere uygulayabilir. Aşağıdaki kod:

// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"

' Force recalculate all formula values in all sheets
workbook.EvaluateAll()
$vbLabelText   $csharpLabel

Sonuç ve IronXL Özel Teklif

IronXL, CSV işlemenin yanı sıra C#'ta yalnızca iki satır kodla CSV'leri Excel'e dönüştürür.

Interop gereksinimi olmadan, IronXL'in Excel API'sini kullanmak son derece kolaydır. Dahası, IronXL ayrıca popüler formatlar arasında dönüştürme, hücre veri formatını ayarlama, matematik fonksiyonları ekleme ve hatta resim ekleme gibi Excel WorkBook, Çalışma Sayfası ve Hücre seviyesinde etkileşimde bulunmak için geniş bir yelpazede özellikler sunar.

Bir filigran olmadan başlatabilirsiniz IronXL deneme lisans anahtarları kullanarak.

Lisanslar $999 itibariyle başlar ve bir yıl ücretsiz destek ve güncellemeleri içerir.

IronPDF, IronXL, IronOCR, IronBarcode ve IronWebScraper, Iron Software suite'in bir parçasıdır. Iron Software, tüm paketlerini indirimli bir fiyatla satın almanıza olanak tanır. Bu araçların tamamını iki fiyatına kullanabilirsiniz.

Bu kesinlikle keşfedilmeye değer bir seçenek.

Sıkça Sorulan Sorular

C#'da bir CSV dosyasını nasıl okuyabilirim?

IronXL kütüphanesini kullanarak C#'da bir CSV dosyasını okuyabilirsiniz, LoadCSV yöntemi ile CSV verilerini daha fazla manipülasyon için bir WorkBook nesnesine yükleyebilirsiniz.

C# dilinde CSV verilerini Excel formatına dönüştürmenin en iyi yolu nedir?

C# dilinde CSV verilerini Excel formatına dönüştürmenin en iyi yolu, IronXL kullanmaktır. CSV'nizi bir WorkBook nesnesine yükleyin ve bir Excel dosyası olarak kaydetmek için SaveAs yöntemini kullanın.

İnceleyici bir kütüphane kullanarak C# dilinde özel ayırıcılarla CSV dosyalarını nasıl ele alabilirim?

IronXL ile, CSV dosyalarını özel ayırıcılarla - ayırıcı olarak tanımlayarak - LoadCSV yönteminde opsiyonel bir parametre olarak işleyebilirsiniz.

C# dilinde CSV verilerini doğrudan veritabanı formatına dönüştürebilir miyim?

Evet, IronXL kullanarak CSV verilerini C# dilinde doğrudan veritabanı formatına dönüştürebilirsiniz. Bu dönüştürme işlemi için ToDataTable yöntemi ile veri bir DataTable nesnesine dönüştürülür, bu da veritabanı işlemleri için uygundur.

C# dilinde var olmayan CSV dosyalarını kontrol etmek için hangi yöntemler mevcuttur?

C# dilinde, IronXL'in Exists yöntemini kullanarak bir CSV dosyasının var olup olmadığını kontrol edebilirsiniz, böylece var olmayan dosyalarla ilgili hatalardan kaçınabilirsiniz.

C# dilinde CSV'den Excel'e dönüştürdükten sonra Excel verilerini nasıl manipüle edebilirim?

CSV'yi C# dilinde Excel'e dönüştürdükten sonra, verileri IronXL'in özellikleri kullanarak, biçimlendirme, hücre birleştirme, matematiksel fonksiyonlar ekleme ve grafik veya resimler ekleyerek manipüle edebilirsiniz.

IronXL, C# dilinde CSV dosyalarını okuma ve dönüştürme için hangi avantajları sunar?

IronXL, kurulumun kolay olması, başka bir interop gerekliliği olmaması, özel ayırıcılar için destek sağlanması ve Excel içinde CSV verilerini dönüştürme ve manipüle etme konularında güçlü yöntemler sunar.

C# dilinde CSV verilerindeki özel karakterler nasıl işlenebilir?

IronXL, CSV dosyalarını yüklerken dosya kodlamasını ve ayırıcıları belirlemenize olanak tanır, böylece verilerin bütünlüğünü ve doğruluğunu sağlayarak CSV verilerindeki özel karakterleri işleyebilir.

IronXL kullanıcıları için hangi destek hizmetleri sunuluyor?

IronXL lisansları bir yıl ücretsiz destek ve güncellemeler içerir, bu da yardıma ulaşmanızı ve en son özellik ve düzeltmelerden faydalanmanızı sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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