Altbilgi içeriğine atla
IRONXL KULLANARAK

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

C# uygulamalarında Excel dosyalarını okumak, iş yazılımları, veri işleme hatları ve raporlama sistemleri için sürekli bir gerekliliktir. Microsoft Office Interop kullanarak geleneksel yaklaşımlar, her sunucu veya çalışma istasyonuna Excel kurulu olmasını gerektirir ve bu da dağıtım ve lisanslamayı karmaşıklaştıran kırılgan bağımlılıklara yol açar. IronXL bu bağımlılığı tamamen kaldırır -- uygulamanız ortamda hiçbir yerde Office kurulu olmadan XLSX, XLS, CSV ve diğer çalışma kitabı biçimlerini okur.

Bu öğretici, kütüphaneyi yükleme, çalışma kitapları yükleme, yazılmış hücre değerlerini çıkartma, satır ve sütunları yineleme, toplama hesaplamaları çalıştırma ve tam bir çalışan verisi okuyucu oluşturma gibi bilmeniz gereken her tekniği baştan sona anlatır. Tüm örnekler, .NET 10'u hedefleyen üst düzey C# ifadelerini kullanır.


Excel İşleme için IronXL Nasıl Yüklenir?

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

Install-Package IronXl.Excel
dotnet add package IronXl.Excel
Install-Package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

Paket saniyeler içinde yüklenir ve projenize tek bir yönetilen derleme referansı ekler. Yönetilecek hiçbir COM kaydı, Office Birincil Interop Derlemeleri ve sürüme özel Excel bağımlılıkları yoktur.

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

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Tek bir ad alanı, size WorkBook, WorkSheet, hücre dizileri, yazılmış değer özellikleri, toplu 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 Dosya Formatlarını Destekler?

Uygulamanızın işlemeye ihtiyaç duyduğu formatları anlamak, yaptığınız API çağrılarını ve projenizin benimsediği depo kararlarını şekillendirir.

XLSX - Excel 2007'den beri varsayılan format - XML dosyalarının ZIP arşivi olarak biçimlendirilmiştir. Bir milyondan fazla satırı, zengin biçimlendirmeyi, pivot tabloları ve adlandırılmış aralıkları destekler. Çoğu modern veri hattı XLSX çıktısı üretir, bu nedenle en sık karşılaşacağınız format budur.

XLS Excel 2003 ve önceki sürümlerde kullanılan eski ikili formattır. Bazı kurumsal sistemler hala XLS dışa aktarımı yapar, bu nedenle eski altyapıyla entegrasyon sağlarken bu formatın güvenilir desteği önemlidir. IronXL, XLS dosyalarını sizin tarafınızdan herhangi özel bir yapılandırma gerektirmeden okur.

XLSM makro desteğiyle XLSX'i genişletir. IronXL, gömülü VBA kodunu çalıştırmasa bile, sunucu tarafı veri çıkarımı için doğru davranış olan, XLSM dosyalarındaki tablo verilerini okur.

CSV ve TSV sistemler arası veri değişimi için yaygın olarak kullanılan düz metin tabular formatlardır. WorkBook.LoadCSV virgülle ayrılmış dosyaları işler ve IronXL, verilerinizi aynı kalıp okuma mantığını koruyarak, kaynak formatı ne olursa olsun gezinebileceğiniz aynı WorkBook nesnesini döndürür.

IronXL, WorkBook.Load çağırdığınızda dosya uzantısından dosya formatını otomatik olarak algılar. Çoğu durumda formatı açıkça belirtmeniz gerekmez, bu da birden fazla kaynaktan gelen girişlerle ilgilenmesi gereken kodu basitleştirir.

IronXL içinde desteklenen Excel dosya formatları
Format Uzantı Yükleme Yöntemi Notlar
Open XML Çalışma Kitabı .xlsx WorkBook.Load Varsayılan modern format
Eski İkili .xls WorkBook.Load Excel 2003 ve daha önceki sürümler
Makro özellikli .xlsm WorkBook.Load Veri okunur; makrolar çalıştırılmaz
Virgülle ayrılmış .csv WorkBook.LoadCSV Optimize edilmiş CSV ayrıştırıcı
Sekme ile ayrılmış .tsv WorkBook.Load Sekme sınırlayıcı varyantı

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

WorkBook.Load metodu, dosya tabanlı tüm işlemler için giriş noktasıdır. Dosya yolunu iletin ve IronXL, hemen sorgulayabileceğiniz tamamen doldurulmuş bir çalışma kitabı nesnesi döndürür:

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");
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");
Imports IronXL

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

' Access the first worksheet
Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Read a single cell by A1 address
Dim companyName As String = sheet("A1").StringValue
Console.WriteLine($"Company: {companyName}")

' Access sheets by name or by zero-based index
Dim byName As WorkSheet = workbook.GetWorkSheet("Sales")
Dim byIndex As WorkSheet = workbook.WorkSheets(1)

' Load a password-protected file
Dim secured As WorkBook = WorkBook.Load("Confidential.xlsx", "p@ssw0rd")
$vbLabelText   $csharpLabel

DefaultWorkSheet özelliği, çoğu tek sayfalık dosyayı kapsayan ilk sayfayı döndürür. Dosyanız birden fazla sayfa içeriyorsa, GetWorkSheet isimle alır ve WorkSheets[n] sıfır bazlı indeksle alır. Çalışma Kitabı API referansı çalışma kitabı nesnesindeki her aşırı yüklenme ve özelliği belgelendirir.

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

Girdi

 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ışı


Excel'den Yazılmış Hücre Değerlerini Nasıl Okursunuz?

IronXL'deki her hücre, tam ihtiyaçınız olan veri türünde değerler döndüren yazılmış özelliklere erişir -- manuel ayrıştırma veya type casting gerekmez. Yazılmış özellikler, temel hücre temsilinden otomatik olarak yakınsama yapar:

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;
}
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;
}
Imports IronXL

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

' Extract typed values from row 2
Dim employeeId As Integer = sheet("A2").IntValue
Dim name As String = sheet("B2").StringValue
Dim department As String = sheet("C2").StringValue
Dim salary As Decimal = sheet("D2").DecimalValue
Dim hireDate As DateTime = 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
Dim formattedSalary As String = sheet("D2").Text   ' "$75,000.00"
Dim formattedDate As String = sheet("E2").Text     ' "28/02/2026"

' Guard against empty cells before reading
If Not sheet("B3").IsEmpty Then
    Dim value As String = sheet("B3").StringValue
End If
$vbLabelText   $csharpLabel

Text özelliği, Excel'de biçimlendirildiği haliyle gösterim değerini tam olarak döndürür -- biçimlendirilmiş sayı dizesine ihtiyaçınız olduğunda kullanışlıdır. Excel formülleri içeren hücrelerde, IronXL ifadeyi değerlendirir ve aynı yazılmış özellikler aracılığıyla hesaplanmış sonucu döndürür. Ek değer özellikleri -- BoolValue, DoubleValue, FloatValue -- hücre değer referansında görünür.


Excel Satırlarını ve Sütunlarını Nasıl Yineleyebilirsiniz?

Veri kümesindeki her kaydı işlemek, satır ve sütunlar arasında yineleme yapmayı gerektirir. IronXL'nin aralık sözdizimi doğrudan Excel'in A1 notasyonuna eşlenir, bu nedenle bir hücre bloğunu seçmek, elektronik tablo formülleri yazmış herkes için aşinadı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();
}
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();
}
Imports IronXL

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

' Iterate a single column range
Console.WriteLine("Employee List:")
For Each cell In sheet("B2:B100")
    If Not String.IsNullOrEmpty(cell.Text) Then
        Console.WriteLine($"  - {cell.Text}")
    End If
Next

' Iterate all rows and all columns using the Rows property
For Each row In sheet.Rows
    For Each cell In row
        Console.Write(cell.Text.PadRight(15))
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

sheet["B2:B100"] aralığı, hücre nesnelerinin numaralandırılabilir bir koleksiyonunu döndürür. string.IsNullOrEmpty kontrolü, boş satırları zarif bir şekilde atlar. çalışma sayfası veri aralığı kılavuzunda belgelenen Rows özelliği, sayfayı bir seferde bir satır olarak dolaşır ve her satırın hücrelerini önceden sütun sayısını bilmenize gerek kalmadan açığa çıkarır.

Çıktı

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


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

IronXL, hücre aralıklarında sonuçları doğrudan hesaplayan yerleşik toplama işlevlerini içerir -- manuel toplama döngüleri gerekli değildir:

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}");
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}");
Imports IronXL

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

' Built-in aggregate methods work on any named range
Dim total As Decimal = sheet("D2:D200").Sum()
Dim highest As Decimal = sheet("D2:D200").Max()
Dim lowest As Decimal = sheet("D2:D200").Min()
Dim average As Decimal = 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
Dim itTotal As Decimal = sheet("D2:D200") _
    .Where(Function(c) sheet($"C{c.RowIndex}").StringValue = "IT") _
    .Sum(Function(c) c.DecimalValue)
Console.WriteLine($"IT Department Total: {itTotal:C}")
$vbLabelText   $csharpLabel

Sum, Min, Max ve Avg, boş hücreleri otomatik olarak atlar ve sahne arkasında sayı dönüşümünü gerçekleştirir. Aralığa LINQ sorguları zincirlemek size filtrelenmiş toplamlar verir -- departman alt toplamları, tarih aralığı toplamları ve koşullu sayımlar -- tümü IronXL API'den ayrılmadan.


Tam Bir Çalışan Verisi Okuyucu Nasıl Oluşturursunuz?

Aşağıdaki örnek şimdiye kadar ele alınan her şeyi bir araya getirerek, bir çalışan tablosunu yükleyen, her kaydı biçimlendiren, maaş toplamlarını biriktiren, geri yazmayı ele alan 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}");
}
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}");
}
Imports IronXL

Try
    Dim workbook As WorkBook = WorkBook.Load("Employees.xlsx")
    Dim sheet As WorkSheet = workbook.DefaultWorkSheet

    Console.WriteLine("=== Employee Data Report ===" & vbCrLf)

    Dim rowNumber As Integer = 2
    Dim totalSalary As Decimal = 0D
    Dim employeeCount As Integer = 0

    While Not String.IsNullOrEmpty(sheet($"A{rowNumber}").StringValue)
        Dim id As Integer = sheet($"A{rowNumber}").IntValue
        Dim name As String = sheet($"B{rowNumber}").StringValue
        Dim department As String = sheet($"C{rowNumber}").StringValue
        Dim salary As Decimal = sheet($"D{rowNumber}").DecimalValue

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

        totalSalary += salary
        employeeCount += 1
        rowNumber += 1
    End While

    Console.WriteLine(vbCrLf & $"Total 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 ex As Exception
    Console.WriteLine($"Error reading Excel file: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Kolon A boşaldığında while döngüsü sona erer, okuyucuyu bütün uzunluklardaki elektronik tablolara uyarlayarak sabit satır sayısı gerektirmeden. Değerleri geri yazma, okuma işlemiyle aynı hücre-adres sözdizimini takip eder ve SaveAs değişiklikleri yeni bir dosyaya kaydeder, böylece orijinal dosya bozulmaz. try/catch bloğu, eksik dosyaları, kilitli çalışma kitaplarını ve bozuk verileri yönetir -- tüm olarak dış kaynaklardan gelen dosyaların üretim ortamlarında meydana gelen senaryolar.

Çıktı

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

Elektronik tablo oluşturma yol göstericisi ve XLSX'i CSV'ye dönüştürme kılavuzu, son-uca iş akışlarında okuma ve yazmanın nasıl birleştirileceğini gösterir. Hücre stil kılavuzu, biçimlendirilmiş çıktının bir gereklilik olduğu durumlarda yazı tipi boyutlarını, renklerini ve kenarlıklarını 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ını Nasıl Yönetiyorsunuz?

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

Adlandırılmış aralıklar, verileri bir hücre adresi yerine mantıksal bir etiketle referans almanıza izin verir. Çalışma kitabı yazarı SalaryTable adını verdiği bir alan tanımladıysa, ona doğrudan GetRangeByName aracılığıyla erişirsiniz:

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

Çalışma sayfası keşfi, değişken sayıda sekmeye sahip dosyaları işlerken faydalı olan, çalışma kitabındaki her sayfayı numaralandırır:

foreach (WorkSheet ws in workbook.WorkSheets)
    Console.WriteLine($"Sheet: {ws.Name}, Rows: {ws.RowCount}");
foreach (WorkSheet ws in workbook.WorkSheets)
    Console.WriteLine($"Sheet: {ws.Name}, Rows: {ws.RowCount}");
For Each ws As WorkSheet In workbook.WorkSheets
    Console.WriteLine($"Sheet: {ws.Name}, Rows: {ws.RowCount}")
Next
$vbLabelText   $csharpLabel

CSV yükleme, düz metin dosyaları için optimize edilmiş özel bir yöntem 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);
WorkBook csv    = WorkBook.LoadCSV("data.csv");
WorkSheet first = csv.DefaultWorkSheet;
Console.WriteLine(first["A1"].StringValue);
Dim csv As WorkBook = WorkBook.LoadCSV("data.csv")
Dim first As WorkSheet = csv.DefaultWorkSheet
Console.WriteLine(first("A1").StringValue)
$vbLabelText   $csharpLabel

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

Ek yetkili referanslar:


Sıradaki Adımlarınız Neler?

IronXL, Excel dosyası okuma işlemini bağımlılıklar içeren bir Interop zorluğundan bazı satır basit C# koduna dönüştürür. Çalışma kitaplarını yükleme, tipli değerleri çıkartma, satır satır yineleme, toplu hesaplamalar çalıştırma ve köşe durumlarını ele alma işlemleri, dağıtım ortamınızda Microsoft Office kurulu olmadan, aynı tutarlı API kalıbını takip eder.

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

  1. Bir lisansa karar vermeden önce kendi Excel dosyalarınıza karşılık doğrulamak ve tam IronXL özellik setini kilidini açmak için ücretsiz bir denemeye başlayın.
  2. Elektronik tablo yazma, biçimlendirme, stillendirme ve dönüştürme rehberleri için tam IronXL dokümantasyonunu gözden geçirin.
  3. Kütüphanede mevcut olan her sınıfı, metodu ve özelliği keşfetmek için nesne referansı ve tam API'yi inceleyin.
  4. İş akışınızın çıktı dosyaları üretmenin yanı sıra giriş dosyalarını okumayı gerektirdiği durumlarda elektronik tablo oluşturma kılavuzunu inceleyin.
  5. Rapor oluşturma, veri doğrulama ve çoklu sayfa konsolidasyonu gibi gerçek dünya senaryolarını kapsayan ek öğreticiler için IronXL blog yazısı dizinini kontrol edin.

Sıkça Sorulan Sorular

IronXL nedir?

IronXL, geliştiricilerin Microsoft Office kurulumu gerekmeden çeşitli formatlarda (XLSX ve XLS gibi) Excel dosyalarını okumasına, düzenlemesine ve oluşturmasına imkan tanıyan bir .NET kütüphanesidir.

IronXL ile C#'ta Excel dosyalarını nasıl okursunuz?

Çalışma kitabını açmak için dosya yolu ile birlikte WorkBook.Load çağırın, ardından A1 notasyonu ve StringValue, IntValue ve DecimalValue gibi yazılım özelliklerini kullanarak hücrelere erişin.

IronXL'i Excel dosyalarını okumak için Microsoft Office Interop'a tercih etmenin sebepleri nelerdir?

IronXL, Microsoft Office kurulumu gerektirmez ve bu durum, COM bağımlılıklarını ortadan kaldırarak sunucu tarafı dağıtımı basitleştirir.

IronXL hangi Excel dosya formatlarını okuyabilir?

IronXL, XLSX, XLS, XLSM, CSV ve TSV formatlarını okur. Format tespiti, dosya uzantısına bağlı olarak otomatik yapılır.

IronXL, büyük Excel dosyalarını verimli bir şekilde yönetebilir mi?

Evet, IronXL performans için optimize edilmiştir ve büyük Excel dosyalarını idare edebilir, bu da onu veri yoğun uygulamalar için uygun hale getirir.

IronXL, .NET 10 ile çalışıyor mu?

Evet, IronXL modern .NET sürümlerini, .NET 10 dahil, ve ayrıca .NET Framework projelerini destekler.

IronXL ile toplu hesaplamaları nasıl çalıştırırsınız?

Herhangi bir hücre aralığında yerleşik Topla, Min, Max ve Ortalama metodlarını kullanın. Bu metodlar boş hücreleri otomatik olarak atlar.

IronXL şifre korumalı Excel dosyalarını okuyabilir mi?

Evet, WorkBook.Load'a parolayı ikinci argüman olarak iletin: WorkBook.Load("file.xlsx", "password").

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