IRONSOFTWAREHOME
IRONXL KULLANARAK

.NET Core için Excel API'si Oluşturun: XLSX Dosyaları Oluşturun, Okuyun ve Dışa Aktarın

Curtis Chau
Curtis Chau
Updated: 28 Haziran 2026

Bir .NET Core için Excel API'si oluşturmak, IronXL ile doğrudan. Paketi yükleyin, bir WorkBook oluşturun, hücreleri doldurun ve akışı doğrudan döndürün -- Microsoft Office gerekmez.

PM > Install-Package IronXL.Excel

IronXL, XLSX oluşturma, veri içe aktarma, çok formatlı dışa aktarma ve hücre stilini tamamen yönetilen .NET kodunda ele alır. Windows, Linux ve macOS'ta çalışır, bu da programlı Excel desteğine ihtiyaç duyan herhangi bir ASP.NET Core API için pratik bir seçim haline getirir.

IronXL'i Bir .NET Core Projesine Nasıl Yüklersiniz?

NuGet Paket Yöneticisi Konsolunu kullanarak, IronXL'i herhangi bir .NET 10 projesine ekleyin:

PM > Install-Package IronXL.Excel

Ya da IronXL aramasını yaparak Visual Studio NuGet UI üzerinden yükleyin. NuGet üzerindeki paket ismi IronXL.Excel.

Kurulumdan sonra, herhangi bir çalışma kitabı oluşturma veya okuma dosyasına using IronXL; ekleyin. Hiçbir Office interop kütüphanesi, COM kaydı ve host cihazda Microsoft Excel yüklemesi gerekmiyor -- IronXL tamamen kendine yeterlidir.

IronXL, .NET Core, .NET 5/6/7/8/9/10 ve .NET Framework projeleri için aynı kütüphaneyi çalıştıran .NET Standard 2.0 ve üstünü hedefler. IronXL belgeleri, tüm desteklenen ortamları ayrıntılı şekilde kapsar.

.NET Core'da Programlı Olarak Excel Dosyaları Nasıl Oluşturulur?

IronXL'in sezgisel API'si ile sıfırdan Excel belgeleri oluşturmak sadece birkaç satır kod gerektirir. Kütüphane, temiz bir nesne modeli aracılığıyla workbook'lar, çalışma sayfaları, hücre stilleri ve formüller üzerinde tam kontrol sağlar.

İşte, biçimlendirilmiş verilerle yeni bir Excel workbook'u oluşturan, çalışma sayfası yönetimini gösteren ve hücre stilleri uygulayan bir denetleyici işlemi:

using IronXL;
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class ExcelController : ControllerBase
{
    [HttpGet("create-report")]
    public IActionResult CreateSalesReport()
    {
        // Create a new Excel workbook in XLSX format
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data");

        // Set header labels in the first row
        worksheet["A1"].Value = "Product";
        worksheet["B1"].Value = "Q1 Sales";
        worksheet["C1"].Value = "Q2 Sales";
        worksheet["D1"].Value = "Total";

        // Bold headers and apply a blue background with white text
        worksheet["A1:D1"].Style.Font.Bold = true;
        worksheet["A1:D1"].Style.SetBackgroundColor("#4472C4");
        worksheet["A1:D1"].Style.Font.SetColor("#FFFFFF");

        // Add data rows
        worksheet["A2"].Value = "Widget Pro";
        worksheet["B2"].Value = 15000;
        worksheet["C2"].Value = 18500;
        worksheet["D2"].Formula = "=B2+C2";

        worksheet["A3"].Value = "Gadget Plus";
        worksheet["B3"].Value = 22000;
        worksheet["C3"].Value = 24000;
        worksheet["D3"].Formula = "=B3+C3";

        // Apply currency number format to sales columns
        worksheet["B2:D3"].Style.Format = "$#,##0";

        // Stream the XLSX file back to the caller
        var stream = workbook.ToStream();
        return File(
            stream,
            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
            "SalesReport.xlsx");
    }
}

Çıktı Excel Dosyası

.NET Core için bir Excel API'si oluşturun: XLSX Dosyaları Oluşturma, Okuma ve Dışa Aktarma: Görüntü 1 - .NET Core API tarafından üretilen Excel dosyası

WorkBook.Create() hem XLSX hem de XLS formatlarını destekler. CreateWorkSheet() yöntemi, hücreleri değerlerle doldurduğunuz, hesaplamalar için Excel formülleri uyguladığınız ve hücre aralıkları aracılığıyla düzeni kontrol ettiğiniz adlandırılmış bir sayfa ekler. IronXL'in hesaplama motoru, kompleks veri analiz senaryolarında kullanılan dizi formüllerine destek dahil olmak üzere, workbook verileri değiştiğinde formülleri otomatik olarak değerlendirir.

Hücre stilleri kalın ve renkten daha öteye gider. Hücre formatlama API'si sayısal formatlar, kenarlıklar, hizalama, font boyutları ve daha fazlasını ayarlamanıza, tümü COM katmanına dokunmadan olanak tanır. Bu, hiçbir görüntü bağlamının bulunmadığı yerleştirilen Linux ortamlarında çalıştırmak için güvenli hale getirir.

Bir Workbook'a Birden Fazla Çalışma Sayfası Nasıl Eklenir?

Tek bir defter, herhangi sayıda çalışma sayfasını barındırabilir. Gerekli her sekme için workbook.CreateWorkSheet("SheetName") çağırın. Çalışma sayfalarına daha sonra workbook.GetWorkSheet("SheetName") ile isim yoluyla veya workbook.WorkSheets[0] ile indeks yoluyla erişilebilir.

Bu pattern, özet artı detay raporları oluştururken kullanışlıdır: Bir sayfa toplu toplamları tutarken, çocuk sayfalar, ham işlem satırlarını tutar. Çalışma sayfası yönetimi belgeleri çalışma zamanında sayfaların yeniden adlandırılmasını, yeniden sıralanmasını ve kaldırılmasını açıklıyor.

Web API'lerinde Excel Verilerini Okumanın En İyi Yolu Nedir?

Kullanıcıların yüklediği Excel dosyalarından veri almak, elektronik tablo içeriğini işleyen herhangi bir web uygulaması için gereklidir. IronXL, Excel elektronik tablolarını okumayı direkt hale getirir -- bir akıştan yükleyin, satırları bölün ve her hücreden türlendirilmiş değerleri çıkarın.

[HttpPost("import")]
public IActionResult ImportExcelData(IFormFile file)
{
    if (file == null || file.Length == 0)
        return BadRequest("No file uploaded");

    using var stream = file.OpenReadStream();

    // Load the workbook directly from the upload stream
    WorkBook workbook = WorkBook.Load(stream);
    WorkSheet worksheet = workbook.DefaultWorkSheet;

    var records = new List<Dictionary<string, object>>();

    // Start at row 2 to skip the header row
    for (int row = 2; row <= worksheet.RowCount; row++)
    {
        var record = new Dictionary<string, object>
        {
            ["Product"] = worksheet[$"A{row}"].StringValue,
            ["Sales"]   = worksheet[$"B{row}"].DecimalValue,
            ["Date"]    = worksheet[$"C{row}"].DateTimeValue
        };
        records.Add(record);
    }

    return Ok(new {
        message     = "Import successful",
        recordCount = records.Count,
        data        = records
    });
}

Çıktı

.NET Core için bir Excel API'si oluşturun: XLSX Dosyaları Oluşturma, Okuma ve Dışa Aktarma: Görüntü 2 - Başarıyla içe aktarılan Excel verilerini gösteren çıktı

WorkBook.Load() akışlardan, dosya yollarından veya bayt dizilerinden Excel dosyalarını açar. Hücrelere worksheet["A1"] indeksi sözdizimi ile veya adlandırılmış bir hücre aralığını yineleyerek erişilir. IronXL, veri doğrulamasını otomatik olarak yönetir ve tür güvenli erişiciler sağlar -- IntValue, DecimalValue, DateTimeValue, StringValue -- böylece kullanan kod temiz ve tahmin edilebilir kalır.

İçe Aktarılan Verileri Nasıl Filtreler ve Sıralarsınız?

Bir çalışma kitabını yükledikten sonra, satırları sıralamak için herhangi bir Range objesinde .SortAscending() veya .SortDescending() çağırın. Filtreleme için, hücrelerin iterasyonu yapın ve koşulları satır içinde değerlendirin veya verileri daha fazla işlemek için bir LINQ koleksiyonuna aktarın. Sıralama ve filtreleme kılavuzu her iki yaklaşımı da pratik örneklerle gösterir.

Büyük yüklemelerle mi çalışıyorsunuz? IronXL, yalnızca erişilen hücreleri okur, bu yüzden belirli bir sütunu sorgulamadan önce birkaç megabyttan fazla bir dosyayı belleğe yüklemeye gerek yoktur. Bu tembel erişim yaklaşımı, yükleme sırasında on binlerce satırı içeren workbook'larla çalışırken bellek tüketimini stabil tutar.

Excel Verilerini Farklı Formatlara Nasıl Dışa Aktarabilirsiniz?

Uygulamalar genellikle çoklu çıktı formatlarında elektronik tablolar sunmalıdır. IronXL, dışa aktarma için XLSX, XLS, CSV, JSON ve HTML'yi tek bir yöntem çağrısında destekler, harici dönüştürme araçları gerekmez.

[HttpGet("export/{format}")]
public IActionResult ExportData(string format)
{
    // Load a pre-designed template workbook
    WorkBook workbook = WorkBook.Load("template.xlsx");

    return format.ToLower() switch
    {
        "xlsx" => File(
            workbook.ToStream(),
            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
            "export.xlsx"),

        "csv"  => File(
            workbook.ToStream(FileFormat.CSV),
            "text/csv",
            "export.csv"),

        "json" => Ok(workbook.ToJson()),

        _      => BadRequest("Unsupported format")
    };
}

Önceden tanımlanmış düzenlere sahip Excel şablonları kullanmak, rapor oluşturmayı hızlandırır. Ön tasarlanmış bir workbook'u yükleyin, adlandırılmış hücrelere veya aralıklara dinamik veriler yerleştirin, sonra sonucu iletin. Bu yaklaşım, satış raporları, faturalar ve uyumluluk belgelerinde tutarlılık konusunda esnekliğin daha önemli olduğu yerlerde uygun.

IronXL'in çapraz platform desteği nedeniyle, bu dosya işlemleri Windows, Linux ve macOS'ta aynen çalışır, bu da onu .NET Core kapsayıcı dağıtımları için uygun hale getirir. IronXL çapraz platform kılavuzunu okuyarak daha fazla bilgi edinin.

.NET Core API'sinden CSV'ye Nasıl Dışa Aktarılır?

Yukarıda gösterildiği gibi, içerik türü text/csv ile workbook.ToStream(FileFormat.CSV) çağırın ve döndürün. Çok sayfalı çalışma kitapları için, her bir sayfa workbook.WorkSheets[index] ile erişilerek ve yaprak objesinde .ToStream(FileFormat.CSV) çağrılarak bağımsız olarak dışa aktarılabilir. CSV dışa aktarma dökümantasyonu sınırlayıcıların, kodlamaların ve tarih formatı seçeneklerinin nasıl ele alındığını kapsar.

Koşullu Biçimlendirme ve Veri Çubuklarını Nasıl Uygularsınız?

Temel hücre stillerinin ötesinde, IronXL, koşullu biçimlendirme kurallarını destekler -- bir eşiğin üzerindeki hücreleri yeşil renkle, negatifleri kırmızı renkte işaretler veya eğilimleri elektronik tabloda ayrı bir araçta pas-sonrası işlem olmadan anında görünür kılmak için gradyan veri çubukları uygular.

Koşullu biçimlendirme, okuyucuların anında aykırı değerleri görmesi gerektiği finansal panolar ve KPI raporlarında özellikle değerlidir. Alıcının indirildikten sonra kendi biçimlendirmesini uygulamalarına güvenmek yerine, kurallar XLSX dosyasında yerleşik olarak seyahat eder ve herhangi bir Microsoft Excel veya uyumlu görüntüleyicide dosya açıldığında otomatik olarak değerlendirilir.

Koşullu biçimlendirme, çalışma sayfasının ConditionalFormatting özelliği aracılığıyla ayarlanır. Kurallar bir adlandırılmış hücre aralığına uygulanır ve çoklu koşul türlerini destekler: hücre değeri karşılaştırmaları, formül tabanlı kurallar, düşükten yükseğe değerlere derece veren renk ölçekleri ve hücre içi çubuk grafikler gibi işlev gören veri çubuğu örtüşmeleri. Open XML spesifikasyonu, IronXL'in XLSX dosyasına yazdığı altında yatan kural yapısını tanımlar.

Renk ölçekleri, simge setleri ve veri çubukları uygulama üzerine daha fazla bilgi için IronXL dökümantasyonundaki koşullu biçimlendirme kılavuzuna bakın.

Excel Dosyaları ve Çalışma Sayfaları Nasıl Korunur?

Hassas veriler içeren raporların dağıtımı, bir erişim kontrol katmanı gerektirir. IronXL, defter seviyesi parola koruması ve çalışma sayfası seviyesi koruma sağlar:

  • Çalışma kitabı parolası: XLSX dosyasını şifrelemek için .SaveAs() çağrılmadan önce workbook.Password = "secret" ayarlayın. Alıcılar, dosyayı Excel'de açmak için parolayı girmelidir.
  • Çalışma sayfası koruması: Hücre düzenlemeyi kilitlemek için worksheet.ProtectSheet("password") çağrın, buna rağmen sayfa görüntülenebilir kalsın. Belirli aralıklar, AllowEditRange API'si kullanılarak veri girişi için kilidi açılabilir.
  • Sadece okunur dağıtım: Asla düzenlenmemesi gereken belgeler için, çalışma sayfası korumasını dosya seviyesinde şifreleme ile birleştirin.

Parolayla korunan XLSX dosyaları varsayılan olarak AES-128 şifrelemesini kullanır, bu aynı zamanda yerel Excel'in uyguladığı standarttır. Bu, IronXL aracılığıyla korunan bir dosyanın, Excel'in yerleşik açık dosya istemi ile tam uyumlu olduğu anlamına gelir -- alıcının ucunda özel görüntüleyici gerekmez.

Bu güvenlik özellikleri, standart .NET Core güvenlik modelini tamamlar ve özellikle finans veya İK raporlama uç noktaları oluştururken kullanışlıdır. Tam API referansı için dosya koruma dökümantasyonu sağlanmaktadır.

.NET'te Excel Formülleri ile Nasıl Çalışılır?

IronXL'nin yerleşik hesaplama motoru, standart Excel formüllerini çalışma zamanında değerlendirir, böylece API, diske kaydetmeden ve Excel'de yeniden açmadan hesaplanan değerleri döndürebilir. Herhangi bir hücrenin .Formula özelliğine bir formül dizesi atayın.

// Sum a column and place the result in a footer row
worksheet[$"B{lastRow}"].Formula = $"=SUM(B2:B{lastRow - 1})";

// Calculate an average across a range
worksheet[$"C{lastRow}"].Formula = $"=AVERAGE(C2:C{lastRow - 1})";

// Retrieve the computed value immediately
decimal total = worksheet[$"B{lastRow}"].DecimalValue;

IronXL, matematiksel, istatistiksel, metin, tarih ve arama kategorileri dahil olmak üzere çoğu standart Excel fonksiyonunu destekler. İleri düzey senaryolar için dizi formülleri (Ctrl+Shift+Enter söz dizimi) de desteklenir. Çünkü formül değerlendirmesi .NET işlemi içinde gerçekleşir, harici bir hesaplama hizmetine round-trip yok -- sonuçlar formül atandığında hemen mevcuttur, bu da API yanıt sürelerini tahmin edilebilir kılar, binlerce satır üzerinden hesaplama yaparken bile. Formül desteği referansı, desteklenen tüm fonksiyonları listeler.

Sonraki Adımlarınız Neler?

IronXL ile bir Excel API'si oluşturmak, .NET Core uygulamalarına elektronik tablolarla çalışmak için sağlam yetenekler sağlar. Biçimlendirilmiş verileri ve hesaplanan formülleri içeren XLSX dosyaları oluşturmaktan kullanıcı yüklemelerini içe aktarmaya ve verileri birden çok formatta dışa aktarmaya kadar, IronXL tüm programlı elektronik tablo işlemlerini platformlar arası, Office'siz bir şekilde yönetir.

Daha fazla ileri gitmek için şu kaynakları inceleyin:

Ücretsiz deneme başlatın ve IronXL'yi canlı bir projede test edin veya lisans seçeneklerini inceleyerek üretim dağıtımı için doğru planı bulun.

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