IRONSOFTWAREHOME
IRONXL KULLANARAK

IronXL kullanarak C#'da Excel Verilerini Nasıl İçe Alırsınız

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

Microsoft Excel dosyaları ile çalışmak, birçok .NET geliştiricisi için günlük bir gerekliliktir. Müşteri verilerini içeri aktarmak, finansal raporları işlemek veya verileri elektronik tablolardan veritabanlarına taşımak söz konusu olduğunda, geliştiricilerin karmaşık bağımlılıklar olmadan veya Excel yüklü olmasını gerektirmeyen güvenilir bir şekilde Excel dosyalarını okuyabilmeleri gereklidir. Microsoft.Office.Interop aracılığıyla COM otomasyonu gibi geleneksel yaklaşımlar tam bir Office kurulumu gerektirir, platform kısıtlamaları getirir ve kırılgan dağıtım bağımlılıkları oluşturur. IronXL, platformlar arası çalışan basit bir çözüm sunar, bu sorunların tümünü ortadan kaldırır ve Excel işlemlerini yönetilen .NET kodundan doğrudan gerçekleştirmenizi sağlar.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 1 - IronXL

IronXL Nasıl Kurulur ve Excel İçe Aktarma Nasıl Başlanır?

IronXL ile C#'ta Excel içe aktarma işlemine başlamak sadece dakikalar alır. Excel kütüphanesi, hem eski XLS hem de modern XLSX formatlarını, ayrıca CSV, TSV ve diğer elektronik tablo formatlarını işler. Microsoft.Office.Interop.Excel'e bağımlı çözümlerin aksine, IronXL herhangi bir .NET veya .NET Core platformunda bağımsız olarak çalışır.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 2 - Çapraz Platform

IronXL'yi NuGet Paket Yöneticisi veya .NET CLI aracılığıyla yükleyin. Visual Studio'da NuGet Paketlerini Yönet iletişim kutusunu da kullanabilir ve "IronXL" için arama yapabilirsiniz:

PM > Install-Package IronXL.Excel

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 3 - Kurulum

Tam kurulum detayları, sürüm uyumluluğu ve bağımlılık notları dahil olmak üzere IronXL NuGet kurulum kılavuzuna başvurun. Ek runtime bağımlılıkları veya Office bileşenleri gerekmiyor -- paket kendi başına yeterlidir. Paket yüklendikten sonra, Excel verilerini içe aktarmak basittir:

using IronXL;

// Load any Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
// Access the first worksheet
WorkSheet sheet = workBook.WorkSheets[0];
// Read a cell value
string value = sheet["B1"].StringValue;
Console.WriteLine(value);

Bu kod, temel iş akışını göstermektedir: bir çalışma kitabı yüklemek, bir çalışma sayfasına erişmek ve hücre değerlerini okumak. WorkBook.Load() yöntemi, dosya biçimini otomatik olarak algılar -- XLS, XLSX veya CSV olup olmadığını. Sezgisel indeksleyici söz dizimi sheet["B1"], hücrelere erişimi dizilerle çalışmak kadar doğal hale getirir. Mevcut üyeler ve aşırı yüklemeler için tam referans için, IronXL API dokümantasyonu'na bakın.

Örnek Giriş

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 4 - Excel Girişi

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 5 - Konsol Çıkışı

Excel Verilerini C# Nesnelerine Nasıl Okuyorsunuz?

Gerçek uygulamalar, tek hücre değerinden daha fazlasına ihtiyaç duyar. IronXL, tüm veri kümelerini içe aktarma ve bunları kullanılabilir C# nesnelerine dönüştürme konusunda mükemmeldir. Yapılandırılmış Excel verilerini içe aktarmanız gerektiğinde, kütüphane doğrudan alan modellerinize eşlenen birden fazla yaklaşım sunar.

Aşağıdaki örnek bir çalışma sayfasından satırları okur ve her satırı türü belirlenmiş Product nesnesine eşler:

using IronXL;

// Load the Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Map rows to typed objects
var products = new List<Product>();
foreach (var row in sheet.Rows)
{
    var product = new Product
    {
        Id = row.Columns[0].IntValue,
        Name = row.Columns[1].StringValue,
        Price = row.Columns[2].DecimalValue,
        IsAvailable = row.Columns[3].BoolValue
    };
    products.Add(product);
}

foreach (var product in products)
{
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " +
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    );
}

Türü belirlenmiş özellikler -- IntValue, StringValue, DecimalValue ve BoolValue -- tür dönüştürmesini otomatik olarak yapar. Bu yaklaşım, farklı veri türlerinden oluşan sütunlarla çalışırken el ile ayrıştırmayı ortadan kaldırır ve hataları azaltır. Birçok geliştirici Stack Overflow'da bu tür güvenli Excel veri aktarma yaklaşımını takdir eder.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 6 - Nesne Çıkışı

Hücre Aralıkları ve LINQ ile Nasıl Çalışırsınız?

Toplu hesaplamalar ve filtrelenmiş sorgular için, IronXL yerleşik LINQ uyumluluğu ile birlikte aralık işlemlerini destekler:

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Read a named cell range
Range dataRange = sheet["A1:D5"];

// Calculate aggregates directly on a range
decimal sum = sheet["C1:C5"].Sum();
Console.WriteLine($"Sum of C1:C5: {sum}");

decimal max = sheet["C1:C5"].Max(c => c.DecimalValue);
Console.WriteLine($"Max of C1:C5: {max}");

// Filter using LINQ
var highValueOrders = dataRange
    .Where(cell => cell.DecimalValue > 100)
    .Select(cell => cell.Value)
    .ToList();

Console.WriteLine("Orders above 100:");
foreach (var order in highValueOrders)
{
    Console.WriteLine(order);
}

Range sınıfı, aynı anda birden fazla hücreye koleksiyon benzeri bir erişim sağlar. LINQ uyumluluğu, Excel verilerini tanıdık C# desenlerini kullanarak dönüştürmeden filtrelemenizi, dönüştürmenizi ve toplamanızı sağlar. Sum() ve Max() gibi yerleşik toplama yöntemleri, doğrudan hücre aralıklarında çalışır. Workbook verilerini okuma hakkında daha fazla detay için, IronXL Excel dosyası okuma rehberine bakınız.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 7 - Aralık Çıkışı

C#'ta Excel DataTable'a Nasıl Dönüştürülür?

DataTable dönüşümü, veritabanı işlemleri ve veri bağlama senaryoları için gereklidir. IronXL, Excel'den DataSet veya DataTable'a dönüşümleri yöneten yerleşik yöntemler sağlar. Bu özellik, Excel çalışma sayfalarını SQL Server veya diğer ilişkisel veritabanlarına aktarmanız gerektiğinde özellikle faydalıdır. Sonuçta çıkan nesne standart bir System.Data.DataTable olduğundan, veri erişim katmanınızda herhangi bir değişiklik yapmanıza gerek kalmadan herhangi bir ADO.NET uyumlu kod yoluyla çalışır.

using IronXL;
using System.Data;
using System.Data.SqlClient;

// Load Excel file
WorkBook workBook = WorkBook.Load("inventory.xlsx");
// Select the first worksheet
WorkSheet sheet = workBook.WorkSheets.First();

// Convert to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

// Use SqlBulkCopy to insert directly into SQL Server
string connectionString = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString))
{
    bulkCopy.DestinationTableName = "Inventory";
    bulkCopy.WriteToServer(dataTable);
}

ToDataTable() yöntemi, ilk satırın başlık içerip içermediğini belirten bir boolean parametresi kabul eder. true ayarlandığında, IronXL otomatik olarak ilk satır değerlerini sütun adları olarak kullanır. Ortaya çıkan DataTable, herhangi bir ek yapılandırma gerektirmeden ADO.NET, Entity Framework ve veri bağlama kontrolleri ile bütünleşir.

Dönüşüm süreci üzerinde daha fazla kontrol sahibi olmak için, DataTable'ı manuel olarak oluşturabilirsiniz:

using IronXL;
using System.Data;

WorkBook workBook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();

// Build DataTable manually for custom column types or validation
DataTable customTable = new DataTable();

for (int col = 0; col < sheet.ColumnCount; col++)
{
    customTable.Columns.Add($"Column{col + 1}", typeof(string));
}

foreach (var row in sheet.Rows)
{
    var dataRow = customTable.NewRow();
    for (int col = 0; col < sheet.ColumnCount; col++)
    {
        dataRow[col] = row.Columns[col].Value ?? DBNull.Value;
    }
    customTable.Rows.Add(dataRow);
}

// Print headers
foreach (DataColumn column in customTable.Columns)
{
    Console.Write($"{column.ColumnName}\t");
}
Console.WriteLine();

// Print data rows
foreach (DataRow row in customTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}

Bu yaklaşım, içe aktarma sırasında size tam esneklik sağlar. Boş değerler DBNull.Value'ya dönüştürülerek yönetilir, bu da veri tabanı sütun kısıtlamaları ile uyumluluk sağlar. Dosyalara veri yazma konusunda daha fazla rehberlik için, IronXL Excel dosyası yazma rehberine bakınız.

Çıktı

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 8 - DataTable Çıkışı

Formüller, Çok Sayfalı Çalışma Kitapları ve Entity Framework ile Nasıl Çalışırsınız?

IronXL, karmaşık gerçek dünya senaryoları için özelliklerle temel okuma dışında gider. Kütüphane, Excel formüllerini koruyarak hesaplamaların dinamik olarak değerlendirilmesine olanak tanır. Karmaşık Excel çalışma kitapları ile çalışan geliştiriciler için, bu özellik, veri bütünlüğünü içe aktarma süreci boyunca korur.

C# Kullanarak MS Excel Dosya Verilerini IronXL ile Kolayca İçe Aktarma, Okuma ve Manipüle Etme: Resim 9 - Özellikler

Formülleri ve Hesaplanmış Değerleri Okuma

using IronXL;

WorkBook workBook = WorkBook.Load("FinancialReport.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Reports");

// Read the evaluated result of a formula cell
decimal calculatedTotal = sheet["E10"].DecimalValue;
Console.WriteLine($"Total: {calculatedTotal}");

// Read the formula string itself
string formula = sheet["E10"].Formula;
Console.WriteLine($"Formula: {formula}"); // e.g. "=SUM(E2:E9)"

Formül desteği, karmaşık hesaplamalara sahip Excel dosyalarını iş mantığını kodda yeniden yaratmadan içe aktarma anlamına gelir. Kütüphane formülleri otomatik olarak değerlendirir, orijinal formül dizgesini korurken hesaplanmış değerler döndürür. Bu, iç içe geçmiş formüller içeren finansal modeller veya raporlama şablonlarını içe aktarırken çok değerli olduğunu kanıtlar.

Çapraz platform uyumluluğu, Windows, Linux, macOS ve konteyner ortamlarında tutarlı davranış sağlar. Bu, Office kurulumunun mümkün olmadığı bulut dağıtımları ve mikro hizmetler için IronXL'i iyi bir uyum haline getirir. .NET Foundation'ın belgeleri, modern .NET uygulamalarının platform bağımsızlığından nasıl faydalandığını vurgular.

Excel Verilerini Entity Framework ile Bütünleştirme

Entity Framework entegrasyonu, doğrudan Excel-veritabanı hatları oluşturur. Aşağıdaki örnek, .NET 10 üst düzey ifadelerle temiz bir şekilde çalışır:

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Skip the header row, map remaining rows to entity objects
var products = sheet.Rows
    .Skip(1)
    .Select(row => new Product
    {
        Name = row.Columns[0].StringValue,
        Price = row.Columns[1].DecimalValue
    })
    .ToList();

using var context = new AppDbContext();
await context.Products.AddRangeAsync(products);
await context.SaveChangesAsync();

Console.WriteLine($"Imported {products.Count} products.");

Bu model, minimal kodla doğrudan Excel-veritabanı göçünü sağlar ve ETL süreçleri, tek seferlik veri aktarımları ve planlanmış içe aktarma işleri için iyi bir uyum sağlar. LINQ projeksiyonu, bağlam kaydetmeden önce bellekte çalıştığından, geç validation veya dönüştürme mantığını aynı adımda uygulayabilirsiniz. C# verilerinden yeni Excel dosyaları oluşturmak için, IronXL Excel dosyası oluşturma rehberine bakınız.

Desteklenen Dosya Biçimları

IronXL, herhangi bir ek kütüphane veya Office kurulumu gerektirmeden çeşitli elektronik tablolama formatlarını işler. Aşağıdaki tablo, desteklenen formatları ve kullanım durumlarını özetler:

IronXL tarafından desteklenen Excel Dosya Biçimları
BiçimUzantıAçıklamalar
Excel Çalışma Kitabı.xlsxExcel 2007 ve sonrası için varsayılan format
Eski Excel Çalışma Kitabı.xlsDaha eski Excel sürümleri ile uyumlu
Virgülle Ayrılmış Değerler.csvYaygın olarak desteklenen düz metin tablo verileri
Sekmeyle Ayrılmış Değerler.tsvGömülü virgüller içeren veriler için uygun
Excel İkili Çalışma Kitabı.xlsbBüyük dosyalar için kompakt ikili format

Bu formatlara veri ihraç etmek için IronXL Excel ihraç kılavuzuna bakın.

İthalat sırasında Hücre Biçimlendirmesi Nasıl Yönetilir?

Excel dosyalarını içe aktarırken, hücre biçimlendirmesini korumak veya incelemek, ham değerleri okumak kadar önemlidir. IronXL, her hücre için yazı tipi, renk, hizalama ve kenarlık özelliklerini sunar, böylece doğrulama kuralları uygulayabilir veya stilleri programlı olarak yeniden üretebilirsiniz. Bu, görsel biçimlendirmenin anlamsal anlam taşıdığı raporlar için özellikle faydalıdır - örneğin, risk seviyelerini gösteren renkli hücreler veya toplamları işaretleyen kalın satırlar.

Örneğin, hücrelerin kalın metin içerip içermediğini kontrol etmek isteyebilirsiniz - bir sıranın özet veya toplam sıra olduğunu gösteren yaygın bir işaret - içe aktarılan veri kümesine dahil edilip edilmeyeceğine karar vermeden önce:

using IronXL;

WorkBook workBook = WorkBook.Load("StyledReport.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

foreach (var row in sheet.Rows)
{
    var firstCell = row.Columns[0];

    // Skip rows where the first cell is bold (typically header or total rows)
    if (firstCell.Style.Font.Bold)
    {
        continue;
    }

    Console.WriteLine($"Data row: {firstCell.StringValue}");
}

Sayı formatı dizeleri ve arka plan renk erişimini de içeren hücre ve aralık biçimlendirmesi konusunda tam bir referans için IronXL hücre biçimlendirme rehberina bakın. İşlemden sonra çıktı dosyalarına birleşme işlemleri de uygulayabilirsiniz - IronXL hücre birleştirme rehberina bakın.

Projeniz İçin Doğru IronXL Lisansını Nasıl Seçersiniz?

IronXL, projenizin ölçeğine uygun esnek lisanlama seçenekleri sunar. Değerlendirme için ücretsiz deneme lisansı mevcuttur ve geliştirme sırasında zaman sınırlaması olmadan tüm özelliklere erişim sağlar. Deneme sürümü, geçerli bir üretim lisansı ile kaldırılacak olan çıkış dosyalarına bir filigran ekler.

Üretim uygulamaları geliştiren ekipler için, IronXL lisanslama, bireysel geliştiriciler, ekipler ve organizasyon genelinde dağıtımlar için seçenekler içerir. Tüm üretim lisansları şunları içerir:

  • Telif ücretsiz yeniden dağıtım hakları
  • IronXL geliştirme ekibinden öncelikli destek
  • Lisans süresi boyunca tüm geçerli ve küçük sürüm güncellemelerine erişim

IronXL'yi diğer Excel kütüphaneleri ile değerlendiriyorsanız, IronXL özellikler genel bakış her seviyede neler içerdiğini detaylı bir şekilde açıklar.

Bugün projenizde IronXL kullanmaya başlamak için IronXL ürün sayfasını ziyaret edin veya IronXL dökümantasyonuna doğrudan başlayın; kurulum kılavuzları, nasıl yapılır makaleleri ve kütüphanedeki her özelliği kapsayan API referansları için.

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