IRONSOFTWAREHOME
IRONXL KULLANARAK

IronXL kullanarak C#'da Excel dosyaları nasıl okunur.

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

C# uygulamalarında Excel dosyalarını okumak, iş yazılımı, veri işleme hatları ve raporlama sistemleri için yeniden tekrar eden bir gereksinimdir. Microsoft Office Interop kullanarak geleneksel yaklaşımlar, her sunucuda veya iş istasyonunda Excel yüklü olmasını gerektirir, bu da dağıtımı ve lisanslamayı zorlaştıran hassas bağımlılıklar yaratır. IronXL, bu bağımlılığı tamamen ortadan kaldırır -- uygulamanız, herhangi bir ortamda Ofis yüklü olmadan XLSX, XLS, CSV ve diğer elektronik tabloları okuyabilir.

Bu eğitim, ihtiyacınız olan her tekniği size adım adım öğretir: kütüphanenin yüklenmesi, çalışma kitapları yükleme, yazı türüne uygun hücre değerlerini çıkarma, satır ve sütunları yineleme, toplama hesaplamaları yapma ve eksiksiz bir çalışan verisi okuyucusu oluşturma. Tüm örnekler, .NET 10'u hedefleyen en üst düzey ifadelerle C# kullanır.


Excel İşleme için IronXL Nasıl Kurulur?

Visual Studio'da NuGet Paket Yöneticisi Konsolunu açın ve projeye IronXL eklemek için aşağıdaki komutu çalıştırın. Alternatif olarak, terminal üzerinden çalışma tercih ediyorsanız, ikinci satırdaki .NET CLI komutunu kullanın:

PM > Install-Package IronXL.Excel

Paket saniyeler içinde yüklenir ve projeye tek yönetilen montaj referansı ekler. COM kaydı yok, Office Birincil Interop Montajları yok ve yönetilecek sürüm özel Excel bağımlılıkları yok.

Kurulumdan sonra, elektronik tablo verileriyle çalışan her dosyanın en üstüne using yönergesini ekleyin:

using IronXL;

Bu tek namespace size WorkBook, WorkSheet, hücre aralıkları, tipik değer özellikleri, toplama fonksiyonları ve diğer tüm IronXL türlerine erişim sağlar. IronXL.Excel için NuGet Galeri sayfası, mevcut her sürümü ve tam bağımlılık ağacını listeler.


IronXL Hangi Excel Dosyası Biçimlarını Destekler?

Uygulamanızın başa çıkması gereken formatları anlamak, yaptığınız API çağrılarını ve projenizin benimsediği saklama kararlarını şekillendirir.

XLSX -- Excel 2007'den bu yana varsayılan formattır -- XML dosyalarının bir ZIP arşividir. Bir milyondan fazla satırı, zengin biçimlendirme, pivot tablolar ve adlandırılmış aralıkları destekler. Çoğu modern veri hattı, XLSX çıktısı üretir, bu nedenle bu en sık karşılaştığınız formattır.

XLS, Excel 2003 ve öncesinde kullanılan eski ikili formattır. Bazı kurumsal sistemler hala XLS çıkarır, bu nedenle, eski altyapıyla entegrasyon yaparken bu formata güvenilir destek vermek önemlidir. IronXL, herhangi bir özel yapılandırma gerektirmeden XLS dosyalarını okur.

XLSM, makro desteği ile XLSX'i genişletir. IronXL, yerleştirilmiş VBA kodunu çalıştırmasa da, sunucu tarafı veri çıkarma için doğru davranış olan XLSM dosyalarından elektronik tablo verilerini okur.

CSV ve TSV sistemler arası veri değişimi için yaygın olarak kullanılan düz metin tab lolarlı formatlardır. WorkBook.LoadCSV virgülle ayrılmış dosyaları işler ve IronXL, veri okuma mantığınızı kaynak formatından bağımsız olarak aynı tutarak kodunuzun gezinebildiği aynı WorkBook nesnesini döndürür.

IronXL, WorkBook.Load çağırdığınızda dosya formatını dosya uzantısından otomatik olarak algılar. Çoğu durumda formatı açıkça belirtmenize gerek yoktur; bu, birden fazla kaynaktan gelen girdileri işlemek zorunda olan kodu basitleştirir.

IronXL'de Desteklenen Excel dosya formatları
BiçimUzantıYükleme YöntemiAçıklamalar
Open XML Çalışma Kitabı.xlsxWorkBook.LoadVarsayılan modern format
Eski İkili.xlsWorkBook.LoadExcel 2003 ve öncesi
Makro etkin.xlsmWorkBook.LoadVeri okunur; makrolar çalıştırılmaz
Virgülle ayrılmış.csvWorkBook.LoadCSVOptimizasyonlu CSV çözümleyicisi
Tab ile ayrılmış.tsvWorkBook.LoadTab ayırıcı varyantı

Excel Çalışma Kitabı Nasıl Yüklenir ve Okunur?

WorkBook.Load metodu tüm dosya tabanlı işlemler için giriş noktasıdır. Dosya yolunu geçin ve IronXL, hemen sorgulayabileceğiniz tam dolu bir çalışma kitabı objesi sunar.

using IronXL;

// Load the workbook; format is detected automatically
WorkBook workbook = WorkBook.Load("Employees.xlsx");

// Access the first worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a single cell by A1 address
string companyName = sheet["A1"].StringValue;
Console.WriteLine($"Company: {companyName}");

// Access sheets by name or by zero-based index
WorkSheet byName  = workbook.GetWorkSheet("Sales");
WorkSheet byIndex = workbook.WorkSheets[1];

// Load a password-protected file
WorkBook secured = WorkBook.Load("Confidential.xlsx", "p@ssw0rd");

DefaultWorkSheet özelliği ilk tabakayı döndürür ve çoğu tek tabaka dosyasını kapsar. Dosyanız birden fazla tabaka içerdiğinde, GetWorkSheet isimle alır ve WorkSheets[n] sıfır tabanlı indeksle alır. Çalışma Kitabı API referansı, çalışma kitabı objesi üzerindeki her aşırı yükleme ve özelliği belgeler.

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 1 - Kurulum

Giriş

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 2 - Örnek Excel Girişi

Çıktı

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 3 - Konsol Çıkışı


Typed Hücre Değerlerini Excel'den Nasıl Okursunuz?

IronXL'deki her hücre, ihtiyacınız olan tam veri türünü döndüren yazı türü özellikleri sunar -- manuel ayrıştırma veya tür dönüştürme gerektirmez. Yazı türü özellikleri, temel hücre temsilinden otomatik olarak dönüştürmeyi yönetir:

using IronXL;

WorkBook workbook = WorkBook.Load("Employees.xlsx");
WorkSheet sheet   = workbook.DefaultWorkSheet;

// Extract typed values from row 2
int      employeeId = sheet["A2"].IntValue;
string   name       = sheet["B2"].StringValue;
string   department = sheet["C2"].StringValue;
decimal  salary     = sheet["D2"].DecimalValue;
DateTime hireDate   = sheet["E2"].DateTimeValue;

Console.WriteLine($"ID:         {employeeId}");
Console.WriteLine($"Name:       {name}");
Console.WriteLine($"Department: {department}");
Console.WriteLine($"Salary:     {salary:C}");
Console.WriteLine($"Hired:      {hireDate:d}");

// Use the Text property for the formatted display value
string formattedSalary = sheet["D2"].Text;   // "$75,000.00"
string formattedDate   = sheet["E2"].Text;   // "28/02/2026"

// Guard against empty cells before reading
if (!sheet["B3"].IsEmpty)
{
    string value = sheet["B3"].StringValue;
}

Text özelliği, sayısal değer yerine formatlanmış sayı dizisine ihtiyacınız olduğunda faydalı olan, görüntüleme değerini Excel'de formatlandığı gibi tam olarak döndürür. Excel formülleri içeren hücreler için IronXL ifadesi değerlendirir ve hesaplanan sonucu aynı yazı türü özellikleri aracılığıyla geri döndürür. Ek değer özellikleri -- BoolValue, DoubleValue, FloatValue -- hücre değeri referansında görünür.


Excel Satırları ve Sütunları Boyunca Nasıl Gezilir?

Bir veri kümesindeki her kaydı işlemek, satır ve sütunları yinelemeyi gerektirir. IronXL'nın aralık sözdizimi, Excel'in A1 notasyonu üzerine doğrudan eşlenir, bu nedenle bir hücre bloğu seçmek, elektronik tablo formülleri yazmış olan herkes için tanıdıktır:

using IronXL;

WorkBook workbook = WorkBook.Load("Employees.xlsx");
WorkSheet sheet   = workbook.DefaultWorkSheet;

// Iterate a single column range
Console.WriteLine("Employee List:");
foreach (var cell in sheet["B2:B100"])
{
    if (!string.IsNullOrEmpty(cell.Text))
        Console.WriteLine($"  - {cell.Text}");
}

// Iterate all rows and all columns using the Rows property
foreach (var row in sheet.Rows)
{
    foreach (var cell in row)
        Console.Write(cell.Text.PadRight(15));
    Console.WriteLine();
}

Aralık sheet["B2:B100"], hücre nesnelerinin bir enumerable koleksiyonunu döndürür. string.IsNullOrEmpty kontrolü boş satırları zarifçe atlar. Rows özelliği -- çalışma sayfası veri aralığı kılavuzunda belgelenmiştir -- sayfayı bir satır bir satır yürür ve her satırın hücrelerini önceden sütun sayısını bilmenizi gerektirmeden ortaya çıkarır.

Çıktı

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 4 - Excel Satırları Çıkışı


Excel Verileri Üzerinde Toplama Hesaplamaları Nasıl Çalıştırılır?

IronXL, hücre aralıklarında doğrudan sonuçları hesaplamak için manuel birikim döngüleri gerektirmeyen toplama fonksiyonları içerir:

using IronXL;

WorkBook workbook = WorkBook.Load("Employees.xlsx");
WorkSheet sheet   = workbook.DefaultWorkSheet;

// Built-in aggregate methods work on any named range
decimal total   = sheet["D2:D200"].Sum();
decimal highest = sheet["D2:D200"].Max();
decimal lowest  = sheet["D2:D200"].Min();
decimal average = sheet["D2:D200"].Avg();

Console.WriteLine($"Total Payroll:  {total:C}");
Console.WriteLine($"Highest Salary: {highest:C}");
Console.WriteLine($"Lowest Salary:  {lowest:C}");
Console.WriteLine($"Average Salary: {average:C}");

// Combine with LINQ for filtered aggregation
decimal itTotal = sheet["D2:D200"]
    .Where(c => sheet[$"C{c.RowIndex}"].StringValue == "IT")
    .Sum(c => c.DecimalValue);
Console.WriteLine($"IT Department Total: {itTotal:C}");

Sum, Min, Max ve Avg otomatik olarak boş hücreleri atlar ve sahne arkasında sayısal dönüşümü halleder. Aralığa LINQ sorgularını zincirlemek, size filtrelenmiş toplamlar verir -- bölüm alt toplamları, tarih aralığı toplamları, ve koşullu sayımlar -- tümü IronXL API içindedir.


Eksiksiz Bir Çalışan Verisi Okuyucusu Nasıl Oluşturulur?

Aşağıdaki örnek, şimdiye kadar ele alınan her şeyi içeren, bir çalışan elektronik tablosunu yükleyen, her kaydı biçimlendiren, maaş toplamlarını toplayan, yaz-back'i yöneten ve hataları zarifçe yakalayan üretime hazır bir konsol uygulaması oluşturur:

using IronXL;

try
{
    WorkBook workbook = WorkBook.Load("Employees.xlsx");
    WorkSheet sheet   = workbook.DefaultWorkSheet;

    Console.WriteLine("=== Employee Data Report ===\n");

    int     rowNumber     = 2;
    decimal totalSalary   = 0m;
    int     employeeCount = 0;

    while (!string.IsNullOrEmpty(sheet[$"A{rowNumber}"].StringValue))
    {
        int      id         = sheet[$"A{rowNumber}"].IntValue;
        string   name       = sheet[$"B{rowNumber}"].StringValue;
        string   department = sheet[$"C{rowNumber}"].StringValue;
        decimal  salary     = sheet[$"D{rowNumber}"].DecimalValue;

        Console.WriteLine($"{id,4}  {name,-20}  {department,-15}  {salary,10:C}");

        totalSalary   += salary;
        employeeCount += 1;
        rowNumber     += 1;
    }

    Console.WriteLine($"\nTotal Employees: {employeeCount}");
    Console.WriteLine($"Total Payroll:   {totalSalary:C}");

    // Write a new record back to the sheet and save
    sheet["A10"].Value = 1010;
    sheet["B10"].Value = "Jane Doe";
    sheet["C10"].Value = "Finance";
    sheet["D10"].Value = 75000;
    workbook.SaveAs("Employees-Updated.xlsx");
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading Excel file: {ex.Message}");
}

while döngüsü, A sütunu boşaldığında sonlanır ve okuyucuyu herhangi bir uzunluktaki elektronik tablolara uyarlayarak sabit kodlanmış satır sayısı gerektirmez hale getirir. Değerleri geri yazma işlemi, okuma ile aynı hücre adresi söz dizimini takip eder ve SaveAs değişiklikleri yeni bir dosyaya kaydederek orijinal dosyanın dokunulmamış kalmasını sağlar. try/catch bloğu, eksik dosyaları, kilitli çalışma kitaplarını ve bozuk verileri -- girdilerin harici kaynaklardan geldiği üretim ortamlarında ortaya çıkan tüm senaryoları -- yönetir.

Çıktı

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 5 - Çalışan Verileri Çıkışı

Elektronik tablo oluşturma kılavuzu ve XLSX'i CSV'ye nasıl dönüştürürsünüz rehberi okuma ve yazmayı uçtan uca iş akışlarında birleştirmenin yolunu gösterir. Hücre stil rehberi yazı tipi boyutları, renkleri ve kenarlıklarını, biçimlendirilmiş çıktı gerektiğinde kapsar.

VB.NET IronXL kullanarak Excel Dosyalarını Okuma: Microsoft Office Olmadan Adım Adım Kılavuz: Resim 6 - Windows Form Çıkışı


Gelişmiş Okuma Senaryoları Nasıl İşlenir?

Gerçek projelerde bazı daha az yaygın ama önemli senaryolar ortaya çıkar. Adlandırılmış aralıklar, çalışma sayfası bulma ve CSV yüklemesi her biri özel API desteğine sahiptir.

Adlandırılmış aralıklar bir hücre adresinden ziyade mantıksal bir etikete göre veri referansı yapmanıza izin verir. Eğer çalışma kitabı yazarı SalaryTable adlı bir adlandırılmış aralığı tanımladıysa, GetRangeByName ile doğrudan erişebilirsiniz.

var range = workbook.GetRangeByName("SalaryTable");
decimal total = range.Sum();
Console.WriteLine($"Named range total: {total:C}");

Çalışma sayfası bulma çalışma kitabındaki her sayfayı numaralar, bu, değişken sayıda sekmesine sahip dosyaları işlerken faydalıdır:

foreach (WorkSheet ws in workbook.WorkSheets)
    Console.WriteLine($"Sheet: {ws.Name}, Rows: {ws.RowCount}");

CSV yükleme, düz metin dosyaları için optimize edilmiş özel bir metod kullanır ve aynı aralık API'si ile gezinebileceğiniz bir WorkSheet döndürür.

WorkBook csv    = WorkBook.LoadCSV("data.csv");
WorkSheet first = csv.DefaultWorkSheet;
Console.WriteLine(first["A1"].StringValue);

Bu desenler, veri geçiş projelerinde, ETL boru hatlarında ve otomatik raporlama sistemlerinde ortaya çıkan gelişmiş okuma senaryolarını kapsar. Tam API yüzeyi için, IronXL nesne referansına bakın.

Ek yetkili referanslar:


Sonraki Adımlarınız Neler?

IronXL, Excel dosyası okumasını, bağımlılıkla dolu bir Interop zorluğundan, birkaç satırlık basit C# koduna dönüştürür. Çalışma kitaplarını yüklemek, yazı türü değerleri çıkarmak, satır satır yinelemek, toplama hesaplamaları çalıştırmak ve uç durumları yönetmek, tamamı Microsoft Office kurulumu olmadan dağıtım ortamınızda aynı tutarlı API modelini izler.

Eğitimden üretime geçmek için:

  1. Ücretsiz bir deneme başlatın IronXL'nin tam özellik setini açıp bir lisansa taahhüt etmeden önce kendi Excel dosyalarınıza karşı kullanarak onu teste tabi tutun.
  2. Yazma, biçimlendirme, stil verme ve elektronik tablolara dönüştürme rehberleri için tam IronXL belgelerine göz atın.
  3. Kütüphanede mevcut her sınıf, yöntem ve özelliği keşfetmek için nesne referansını ve tam API'yi inceleyin.
  4. İş akışınızın giriş dosyalarını okuma ve çıktı dosyalarını olusturmayı gerektirdiğinde Elektronik tablo oluşturma kılavuzunu inceleyin.
  5. Rapor oluşturma, veri doğrulama ve çok sayfalı konsolidasyon gibi gerçek dünya senaryolarını kapsayan ek öğreticiler için IronXL blog gönderisi dizinine bakın.
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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez