IRONSOFTWAREHOME
IRONXL KULLANARAK

C# ile IronXL Kullanarak Excel Dosyalarını Nasıl Açarsınız

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

C#'ta Excel dosyalarını açmak ve üzerinde çalışmak, neredeyse her .NET geliştiricisinin er ya da geç karşılaşacağı bir durumdur. İster haftalık raporları otomatikleştiriyor olun, veri ithalatlarını işleyin, veya elektronik tabloları uçuşta üreten araçlar oluşturuyor olun, seçtiğiniz kütüphane, hız, güvenilirlik ve dağıtım esnekliğinde önemli bir fark yaratabilir.

Bu eğitim, IronXL kullanarak C# içinde Excel dosyalarını nasıl açacağınızı anlatıyor -- Microsoft Office kurulumunu gerektirmeden iş kitaplarını okuyan, düzenleyen ve yazan hafif bir Excel kütüphanesi. Verileri yüklemeyi, çalışma sayfalarına erişmeyi ve hücrelerle programatik olarak çalışmayı, hepsini C# uygulamanız içinde ne kadar basit olduğunu göreceksiniz.

IronXL'yi Microsoft.Office.Interop.Excel'e Neden Tercih Etmeli?

Microsoft.Office.Interop.Excel, Excel otomasyonu için geleneksel bir yaklaşım olmasına rağmen, modern uygulamalar için IronXL'yi daha iyi bir tercih yapan önemli sınırlamalar ile birlikte gelir. Microsoft, Sunucularda Office Interop kullanımını önermemektedir, dengesizlik, ölçeklenebilirlik sorunları ve desteklenmeyen dağıtım senaryoları nedeniyle.

IronXL ile Microsoft.Office.Interop.Excel özellik karşılaştırması
ÖzellikIronXLMicrosoft.Office.Interop.Excel
Excel Kurulumu GerekliHayırEvet
Platformlar Arası DestekWindows, Linux, macOSSadece Windows
Sunucu DağıtımıTamamen destekleniyorMicrosoft tarafından önerilmiyor
Bellek YönetimiOtomatikManuel COM temizliği gerekli
API KompleksliğiBasit ve sezgiselKarmaşık COM arabirimleri
Dosya Format DesteğiXLS, XLSX, CSV, TSV, JSONExcel formatları ile sınırlı
İş Parçacığı GüvenliğiDestekleniyorSadece tek iş parçacığı

IronXL, Microsoft Excel'e olan bağımlılığı ortadan kaldırarak sunucu ortamları, Docker konteynerleri ve Azure gibi bulut platformları için idealdir. Bu kütüphane, elle bellek yönetimi veya COM nesneleri ile uğraşmanıza gerek kalmadan temiz, modern bir API sağlar. Dosyaları açmanın ötesinde, IronXL, formül değerlendirme, grafik oluşturma ve hücre stillendirme dahil her şeyi halleder.

.NET Projesine IronXL Nasıl Kurulur?

IronXL ile başlamak oldukça kolaydır -- birkaç dakika içinde projelerinize NuGet Paket Yöneticisi aracılığıyla eklenebilir. Visual Studio'da Paket Yöneticisi Konsolunu açın ve şu komutu çalıştırın:

PM > Install-Package IronXL.Excel

Her iki komut da aynı paketi yükler. İlkini Visual Studio Paket Yöneticisi Konsolu'nda ve ikincisini .NET CLI ile kullanın. Kurulumdan sonra, paket referansının <PackageReference Include="IronXL.Excel" /> altında proje dosyanızda göründüğünü doğrulayabilirsiniz.

İlk Adım:
arrow pointer

IronXL Hangi .NET Sürümlerini Destekliyor?

IronXL, modern .NET sürümlerinin tam spektrumunu hedefler, .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 ve üzeri ile .NET Standard 2.0 dahil. Bu geniş destek, IronXL'yi yeni projelerinizde .NET 10 hedefleyen veya geleneksel .NET Framework üzerinde çalışan eski uygulamalarınızda kullanabileceğiniz anlamına gelir.

Kütüphane, hedef çerçeveye göre doğru ikili dosyayı otomatik olarak seçen tek bir NuGet paketi olarak mevcuttur. Ek bağımlılıklar yok, platforma özgü kurulumlar yok ve Excel lisansı gerekmez. IronXL uyumluluk kılavuzu için desteklenen tüm çalışma zamanları ve platformlar hakkında bilgiyi öğrenmek için ziyaret edin.

Mevcut Bir Excel Dosyasını C#'ta Nasıl Açarsınız ve Okursunuz?

IronXL ile mevcut Excel dosyalarını açmak yalnızca birkaç satır kod gerektirir. Kütüphane, birleştirilmiş bir API aracılığıyla XLS ve XLSX dosyalarını okumanın yanı sıra CSV ve TSV formatlarını da okuyor. Aşağıdaki örnek, temel iş akışını göstermektedir:

// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");

// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];

// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");

// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Read a numeric value
decimal revenue = sheet["B2"].DecimalValue;
Console.WriteLine($"Revenue: {revenue:C}");

// Check cell data type before reading
var cell = sheet["C3"];
Console.WriteLine($"Type: {cell.Type}, Value: {cell.Value}");

WorkBook.Load() yöntemi, dosya formatını - XLS, XLSX, CSV veya TSV - otomatik olarak algılar ve ek yapılandırma olmadan işleme gerçekleştirir. Çalışma sayfalarına ya workbook.WorkSheets[0] kullanarak indeksle ya da GetWorkSheet() kullanarak adla erişebilirsiniz. Bireysel hücre değerleri, kodu özlü ve anlatımlı hale getiren köşeli parantez gösterimi (sheet["A1"]) aracılığıyla okunabilir. Desteklenen dosya türlerinin tam listesi için SpreadsheetML üzerinde Open XML SDK belgelerine ve IronXL NuGet paket sayfasına bakın.

Tipli erişim için, IronXL hücreler üzerinde doğrudan .StringValue, .DecimalValue, .IntValue, .BoolValue ve .DateTimeValue gibi özellikler sağlar. Bu, genel nesne tabanlı API'lerle yaygın olan tür tahminlerini ortadan kaldırır. Karmaşık senaryolar için Excel aralıklarıyla çalışma kılavuzuna ve hücre veri formatları belgelerine başvurun.

Çıktı

IronXL kullanarak C# içinde Excel Dosyaları Uygulaması Nasıl Açılır: Şekil 1 - Örnek Excel dosyasının açılması ve okunması

Excel Dosyalarını Bir Akış veya Bayt Dizisinden Nasıl Yüklersiniz?

Web uygulamaları ve bulut işlevlerinde dosya verilerini dosya yolu yerine genellikle bir akış veya bayt dizisi olarak alırsınız. IronXL her iki durumu da halleder:

// Load from a byte array (e.g., from a database or HTTP response)
byte[] fileBytes = File.ReadAllBytes("sales-data.xlsx");
WorkBook workbookFromBytes = WorkBook.Load(fileBytes);

// Load from a MemoryStream
using var memStream = new MemoryStream(fileBytes);
WorkBook workbookFromStream = WorkBook.Load(memStream);

// Access data the same way regardless of source
WorkSheet sheet = workbookFromStream.DefaultWorkSheet;
Console.WriteLine(sheet["A1"].StringValue);

Akış tabanlı yükleme, bir IFormFile yüklemesi aldığınız ASP.NET Core denetleyicilerinde özellikle faydalıdır. Basitçe formFile.OpenReadStream() çağırın ve sonucu WorkBook.Load() geçirin. ASP.NET Core entegrasyon desenlerinin tamamı için, ASP.NET Core Excel eğitimine bakın.

C#'ta Yeni Excel Çalışma Kitapları Nasıl Oluşturulur?

IronXL'nin çalışma kitabı oluşturma kapasiteleri ile yeni Excel dosyaları oluşturmak eşit derecede kolaydır. Aşağıdaki örnek, biçimlendirilmiş bir çeyrek raporu oluşturur:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add metadata
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Title = "Q1 Revenue Report";

// Create a named worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");

// Add header row
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Add data rows
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 120;
sheet["C2"].Value = 45000;

sheet["A3"].Value = "Support Contracts";
sheet["B3"].Value = 55;
sheet["C3"].Value = 27500;

// Add a SUM formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Apply number formatting
sheet["C2:C4"].FormatString = "$#,##0.00";

// Save the workbook to disk
workbook.SaveAs("quarterly-report.xlsx");
Console.WriteLine("Workbook saved successfully.");

WorkBook.Create() yöntemi belirtilen formatta yeni bir çalışma kitabı başlatır. Birden çok çalışma sayfası CreateWorkSheet() kullanarak ekleyebilir, hücreleri dize, sayı, boolean ve tarih gibi çeşitli veri türleriyle doldurabilir ve Formula özelliği aracılığıyla doğrudan Excel formülleri uygulayabilirsiniz. Kütüphane, veri türü dönüşümlerini ve Excel'e özgü formatlama gereksinimlerini otomatik olarak halleder.

Başlıkları stillendirmek ve çerçeveler eklemek için hücre stillendirme API'sini kullanın. Şablon temelli rapor oluşturma için, mevcut Excel şablonlarından dışa aktarı kılavuzuna bakın.

Çıktı

IronXL kullanarak C# içinde Excel Dosyaları Uygulaması Nasıl Açılır: Şekil 2 - Yeni Excel çalışma kitapları oluşturma

Excel Çalışma Sayfası Verilerini Toplu Olarak Nasıl Okur ve İşlersiniz?

IronXL, aralık tabanlı işlemler ve DataTable dönüştürme aracılığıyla veri çıkarma ve toplu işlemleri verimli bir şekilde işleyebilir:

// Load a workbook and select the default sheet
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a rectangular range of cells
var range = sheet["A1:D10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Convert the worksheet to a DataTable for database integration
System.Data.DataTable dataTable = sheet.ToDataTable(useFirstRowAsColumnHeaders: true);
Console.WriteLine($"Rows: {dataTable.Rows.Count}, Columns: {dataTable.Columns.Count}");

// Use aggregate functions directly on a range
decimal total = sheet["C2:C10"].Sum();
decimal average = sheet["C2:C10"].Avg();
decimal maxValue = sheet["C2:C10"].Max();

Console.WriteLine($"Total: {total:C}");
Console.WriteLine($"Average: {average:C}");
Console.WriteLine($"Max: {maxValue:C}");

// Filter and find rows using LINQ on the DataTable
var highValue = dataTable.AsEnumerable()
    .Where(row => row.Field<decimal>("Revenue") > 10000)
    .ToList();
Console.WriteLine($"High-value rows: {highValue.Count}");

Aralık seçimi sözdizimi (sheet["A1:D10"]) birden fazla hücreyle birden çalışmanın şık bir yolunu sağlar. ToDataTable() yöntemi, çalışma sayfası verilerini Entity Framework, veri bağlama kontrolleri ve SQL toplu kopyalama işlemleriyle doğrudan entegre olan bir System.Data.DataTable çevirir. IronXL ayrıca doğrudan aralıklar üzerinde Sum(), Avg(), Max() ve Min() gibi toplam işlevleri destekler, manuel yineleme kodu yazma ihtiyacını ortadan kaldırır.

Çok büyük veri kümelerini verimli bir şekilde işlemek için, tam IronXL API referansı için akış ve parça işleme desenleri hakkında danışın.

IronXL kullanarak C# içinde Excel Dosyaları Uygulaması Nasıl Açılır: Şekil 3 - İşlenmiş Excel veri çıktısı

Bir Çalışma Sayfasında Hücreleri Nasıl Filtreleyip Ararsınız?

Aralık tabanlı erişimin ötesinde, IronXL, değerle hücre aramaya, koşullu mantık uygulamaya ve satırları ve sütunları programatik olarak yinelemeye imkan tanır:

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

// Get total row and column counts
int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Sheet dimensions: {rowCount} rows x {colCount} columns");

// Iterate over all rows and columns
for (int row = 1; row <= rowCount; row++)
{
    for (int col = 1; col <= colCount; col++)
    {
        var cell = sheet.GetCellAt(row, col);
        if (cell != null && !string.IsNullOrEmpty(cell.Text))
        {
            Console.WriteLine($"[{row},{col}] = {cell.Text}");
        }
    }
}

// Find the first cell containing specific text
var searchResult = sheet["A1:Z100"]
    .FirstOrDefault(c => c.StringValue.Contains("discontinued", StringComparison.OrdinalIgnoreCase));

if (searchResult != null)
{
    Console.WriteLine($"Found 'discontinued' at: {searchResult.AddressString}");
}

Bu desen, belirli değerleri taraması gereken ve daha sonra işlemek üzere alınan bir dosyada taranması gereken veri doğrulama iş akışlarında yaygındır. Gelişmiş filtreleme kullanım durumları için, Excel aralık seçim belgelerine bakın.

Bu Yaklaşım Hangi Dağıtım Senaryolarını Destekliyor?

IronXL kullanmanın en pratik avantajlarından biri, sistemde Microsoft Office kurulmadan çalışabilme yeteneğidir. Bu, Interop tabanlı çözümlerin basitçe eşleşemeyeceği bir dağıtım esnekliği yaratır:

Bulut ve Konteyner Dağıtımı

IronXL Azure App Service, AWS Lambda ve Google Cloud Run'da herhangi bir özel yapılandırma gerektirmeden çalışır. Office bağımlılığı olmadığı için, hem lisanslama maliyetinden hem de Office'i bir konteyner görüntüsüne dahil etmenin karmaşıklığından kaçınırsınız. IronXL kullanan bir .NET 10 uygulaması için minimal bir Dockerfile yalnızca standart .NET çalışma zamanı görüntüsüne ihtiyaç duyar.

Docker tabanlı dağıtım da aynı derecede basittir. IronXL Docker kılavuzu, Debian, Alpine ve Windows konteyner yapılandırmalarını kapsar. Tüm durumlarda, IronXL'yi NuGet üzerinden yüklersiniz ve ek sistem paketleri olmadan çalışır.

Sunucu ve CI/CD Pipeline Kullanımı

Sunucu ortamlarda genellikle bir GUI yoktur ve Windows masaüstü oturumuna bağlı uygulamaları çalıştıramazlar. IronXL tamamen arka plan modunda çalışır, bu da onu uygun hale getirir:

  • Planlanmış arka plan işlerinde Excel raporları oluşturmak
  • ASP.NET Core API'lerinde yüklenen elektronik tabloları işleme
  • Otomatikleştirilmiş hatlarda DataTable veya veri tabanı sorgu sonuçlarını XLSX'e aktarma
  • CI/CD test çalıştırmaları sırasında ithal edilen veri dosyalarını doğrulama

Özel olarak ASP.NET Core için, dosya akışı, yanıt başlıkları ve doğru atık yönetimi desenlerini ele alan ASP.NET Core Excel dışa aktarma eğitimi'ne bakın.

Çapraz Platform Geliştirme

IronXL, .NET Standard 2.0'ı hedef alır ve Linux ve macOS üzerinde yerel olarak çalışarak çapraz platform geliştirme iş akışlarını mümkün kılar. macOS üzerindeki geliştiriciler, aynı ikilinin bir Linux üretim sunucusunda aynı şekilde çalışacağından emin olarak yerel olarak Excel üretimi kodunu yazıp test edebilirler. Platforma özgü API'lere veya koşullu derleme bloklarına ihtiyaç yoktur.

Desteklenen ortamlar hakkında daha fazla bilgi için IronXL başlangıç kılavuzu'na bakın.

Temel Okumanın Ötesinde Yaygın Excel İşlemlerini Nasıl Ele Alıyorsunuz?

Hücre okuma ve yazma sadece temeldir. Gerçek dünya Excel otomasyonu tipik olarak biçimlendirme, formüller, çalışma sayfası yönetimi ve format dönüşümünü içerir.

Hücreleri Biçimlendirme ve Stilleri Uygulama

IronXL, yazı tipleri, renkler, kenarlıklar, hizalama ve sayı formatlarını kapsayan eksiksiz bir stil API'si sağlar:

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

// Apply bold, font size, and background color to header row
var headerRange = sheet["A1:F1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
headerRange.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;

// Format a currency column
sheet["D2:D100"].FormatString = "$#,##0.00";

// Apply a date format
sheet["E2:E100"].FormatString = "yyyy-MM-dd";

// Add borders to a data range
var dataRange = sheet["A1:F20"];
dataRange.Style.Border.Bottom.Type = IronXL.Styles.BorderType.Thin;
dataRange.Style.Border.Right.Type = IronXL.Styles.BorderType.Thin;

workbook.SaveAs("formatted-report.xlsx");

Stil seçenekleriyle ilgili tam bir gezinme için hücreleri, kenarlıkları ve yazı tiplerini stilize etme'ye bakın.

Excel ve CSV Formatları Arasında Dönüştürme

IronXL, format dönüşümünü doğrudan ele alır, bir CSV'yi yükleyip XLSX olarak kaydetmenize veya bir XLSX dosyasını CSV'ye dışa aktarmanıza olanak tanır:

// Load a CSV file and save as XLSX
WorkBook csvBook = WorkBook.Load("data-import.csv");
csvBook.SaveAs("data-import.xlsx");

// Load an XLSX file and export as CSV
WorkBook xlsxBook = WorkBook.Load("report.xlsx");
xlsxBook.DefaultWorkSheet.SaveAsCsv("report.csv");

CSV işleme hakkında daha fazla ayrıntı için, ayırıcı yapılandırması ve kodlama seçenekleri de dahil olmak üzere C# CSV okuma eğitimi ve CSV'den XLSX'e dönüşüm kılavuzu'na bakın.

Ücretsiz Bir Deneme ile Başlamak İçin Ne Yapmalısınız?

IronXL, bir satın alma işlemi yapmadan önce tam özellik setini test etmenizi sağlayan ücretsiz bir geliştirme lisansıyla indirmeye sunulmuştur. Deneme sırasında hiçbir özellik kısıtlaması yoktur — üretimde çalışan aynı kütüphane değerlendirirsiniz.

Başlamak için:

  1. Paketi NuGet üzerinden yükleyin:

    dotnet add package IronXL.Excel

  2. IronXL lisanslama sayfasını ziyaret ederek ücretsiz bir deneme anahtarı alın.

  3. Herhangi bir IronXL çağrısından önce kodda anahtarı uygulayın:

    IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

Lisanslar, bireysel geliştiriciler, ekipler ve kuruluşlar için mevcuttur. IronXL ürün sayfası tam fiyatlandırma detaylarını ve telif ücretsiz dağıtım hakları dahil olmak üzere dağıtım seçeneklerini sağlar. Tüm Iron Software ürünleri ve bunların nasıl entegre edildiği hakkında daha geniş bir bakış için Iron Software ürün paketi'ne 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