Altbilgi içeriğine atla
IRONXL KULLANARAK

Razor Pages'de Excel Dosyası Nasıl Oluşturulur

Razor Sayfaları, web sayfaları oluşturma konusunda modern bir yaklaşım sunar. Razor Sayfalarında, web sayfasını oluşturan kaynak kodu, sunucu tarafı sayfa tarafından oluşturulmak yerine C# dilinde yazılır.

Excel dosyaları ile verimli bir şekilde çalışmak için, POI Java projesi NPOI paketi (özellikle PowerPoint dosyaları ile kullanılır) ve Office Interop gibi diğerlerine kıyasla IronXL kutuphanesi önerilir. IronXL, Microsoft Office gerektirmeyen ve birden fazla .NET sürümünü destekleyen, özellik açısından zengin, kullanımı kolay bir kütüphanedir.

Bu makale, Razor Sayfalarında sahte veriler ve satır başlıkları ile Excel tabloları oluşturmak ve dışa aktarmak için IronXL C# kütüphanesini kullanmayı göstermektedir.

IronXL: C# Excel Kütüphanesi

IronXL, büyük veri kümeleri üzerinde paralel işlemeyi kullanarak bilgisayar gücünü artıran yöntemler ve fonksiyonlar sunan bir C# Excel kütüphanesidir. Kullanıcı dostu çünkü iç işleyişleri anlamaya gerek kalmadan hem XLS hem de XLSX dosyalarını destekler.

IronXL, Microsoft Office kurulu olmasına gerek olmadan Excel formülleri oluşturmak ve ofis belgelerini oluşturmak, içeri aktarmak ve dışa aktarmak için idealdir.

IronXL kullanarak Razor Sayfalarında Excel dosyalarını içe ve dışa aktarmayı öğrenin.

Razor Sayfalarında Excel Dosyası Oluşturun

Razor Sayfalarında Excel sayfaları oluşturmak için, Visual Studio'yu açarak, bir ASP.NET Core Web Uygulaması oluşturarak ve IronXL'i yükleyerek başlayın.

Önkoşullar

Razor Sayfalarında Excel dosyaları oluşturmak için hazırlık gerektirir:

  1. Visual Studio (Son Sürüm)
  2. .NET Framework 6 veya 7
  3. Visual Studio'da .NET Core Web Uygulaması

IronXL Kutuphanesini Yükle

IronXL'i NuGet Paket Yöneticisi Konsolunu kullanarak yükleyin. Kutuphaneyi bir .NET Core Web Uygulaması'na yüklemek için bu komutu girin:

Install-Package IronXl.Excel

Excel dosyası oluşturma kodu

İşte kodu nasıl yazacağınız. Pages klasöründeki "Index.cs" dosyasını açın ve aşağıdaki yöntemi ekleyin:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
Public Function OnPostExport() As FileResult
    ' Create a new WorkBook with XLSX format
    Dim workBook As New WorkBook(IronXl.ExcelFileFormat.XLSX)
    ' Create a new WorkSheet named "data"
    Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

    ' Add headers to the new worksheet
    workSheet("A1").Value = "Product EN"
    workSheet("B1").Value = "SKU"
    workSheet("C1").Value = "Customer"

    ' Make header text bold
    workSheet("A1:C1").Style.Font.Bold = True

    ' Add dummy data to the worksheet
    workSheet("A2").Value = "Iron Rods"
    workSheet("A3").Value = "Mobile Phones"
    workSheet("A4").Value = "Chargers"

    workSheet("B2").Value = "105"
    workSheet("B3").Value = "285"
    workSheet("B4").Value = "301"

    workSheet("C2").Value = "Adam"
    workSheet("C3").Value = "Ellen"
    workSheet("C4").Value = "Tom"

    ' Convert the WorkBook to a byte array Stream for download
    Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
$vbLabelText   $csharpLabel

Bu kodda yeni bir Excel WorkBook oluşturulur ve bir WorkSheet icerir. Sayfa sahte verilerle doldurulur ve oluşturulan dosya sunucuya şu şekilde yanıt olarak gönderilir:

  • WorkBook, bir dosya olarak indirmek icin Stream'ye dönüştürulur.
  • MIME türü ayarlanır.
  • Dosya indirme için bir ad belirlenir.

Excel dosyasını indirmek için bir düğme oluşturun

Mevcut kodu "Index.cshtml" ile aşağıdakiyle değiştirin:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

Bu HTML, 'Excel Dosyasi Oluştur!' dugmesine tiklandiginda, uygulamanin Excel dosyasini yerel makineye aktarmasina imkan vererek, tarayici indirmesini tetikleyen ve 'Export' olarak ayarlanmis asp-page-handler iceren bir form oluşturur.

Projeyi Çalıştırın

Projeyi çalıştırın ve tarayıcıda bir ekran göreceksiniz. Excel dosyasını indirmek için yeşil düğmeye tıklayın.

Razor Pages'de Excel Dosyasi Nasıl Oluşturulur, Sekil 1: IronXL Excel Sayfalari Oluştur IronXL Excel Sayfaları Oluştur

"Generate Excel File!" düğmesine tıkladıktan sonra dosya indirilecektir.

Razor Pages'de Excel Dosyasi Nasıl Oluşturulur, Sekil 2: IronXL Indirilen Dosya IronXL İndirilen Dosya

Oluşturulan Excel Dosyasını Açın

Oluşturulan Excel dosyasının içeriği, kodun çıktısı ile mükemmel biçimlendirme ile eşleşir. Aşağıda oluşturulan Excel dosyasının ekran görüntüsü gösterilmiştir.

Razor Pages'de Excel Dosyasi Nasıl Oluşturulur, Sekil 3: IronXL Oluşturulan Dosya IronXL Oluşturulan Dosya

Rakiplerinden Daha İyi IronXL

IronXL, hem XLS hem de XLSX formatlarında sorunsuz çalışan, Java tabanlı olması nedeniyle daha yavaş olan NPOI gibi kısıtlamaların olmadığı üstün bir araçtır, oysa IronXL C# dilindedir. ASP.NET Core uygulamalarında büyük/çoklu tablolar üretirken POI yerine IronXL tercih edin.

IronXL, Microsoft Office olmadan Excel dosyaları oluşturur ve düzenler. Microsoft Interop'un aksine, Excel işlemleri veya dışa aktarma için Microsoft Excel'in ActiveX'ini çağırması gerekmez. Ayrıca CSV dosyalarını Excel formatına dışa aktarmayı sağlar.

IronXL ayrıca Excel dosyaları ile etkileşim kurmak için geniş özellikler sunar, bunlara popüler formatlar arasında dönüştürme, matematik fonksiyonları ekleme, grafikler ekleme ve görüntü yerleştirme dahildir.

Sonuç

Bu makale, Razor Sayfalarında Microsoft Excel ActiveX'e ihtiyaç duymadan bir Excel dosyası oluşturmak ve dosya indirmelerini kolaylaştırmak için IronXL kullanmayı göstermektedir.

Excel dosyaları oluşturma ile ilgili daha fazla öğreticiye göz atın.

IronXL, ticari olmayan geliştirme için ücretsizdir. Üretimde test için ücretsiz bir deneme mevcuttur. Fiyatlandırma ve lisanslama detayları için fiyat planlarını inceleyin.

Sıkça Sorulan Sorular

Interop kullanmadan Razor Pages'te Excel dosyası nasıl oluşturabilirim?

IronXL kütüphanesini kullanarak Razor Pages'te Interop olmadan Excel dosyası oluşturabilirsiniz. Bu kütüphane, Microsoft Office'e ihtiyaç duymadan doğrudan C#'ta Excel dosyaları oluşturmanızı ve manipüle etmenizi, bir WorkBook oluşturmanızı ve bir WorkSheet'e veri eklemenizi sağlar.

Bir Razor Pages projesi için IronXL yüklemek hangi adımları içerir?

Bir Razor Pages projesi için IronXL'yi yüklemek için Visual Studio'da NuGet Paket Yöneticisi Konsolunu kullanabilirsiniz. Projenize kütüphaneyi eklemek için Install-Package IronXl.Excel komutunu çalıştırın.

IronXL'yi Razor Pages uygulamasından veri dışa aktarmak için kullanabilir miyim?

Evet, IronXL, Razor Pages uygulamasından veri dışa aktarmak için kullanılabilir. Verilerinizi Excel formatına dönüştürebilir ve ardından Razor Pages kullanarak bu veriyi indirilebilir bir dosya olarak istemciye geri akıtabilirsiniz.

Excel dosyalarını oluşturmak için Microsoft Interop yerine IronXL kullanmanın avantajları nelerdir?

IronXL, daha hızlı performans, Microsoft Office kurulum gerekliliği olmaması ve büyük veri setlerini paralel işlem yoluyla etkili bir şekilde ele alma gibi Microsoft Interop'a göre pek çok avantaj sunar.

IronXL kullanarak Razor Pages'te büyük Excel veri setlerini işleyebilir miyim?

Evet, IronXL, büyük Excel veri setlerini verimli bir şekilde işleyebilir. Paralel işlem desteği sunar, bu da geniş veri ile çalışırken performansı ve hızı artırabilir.

IronXL farkli Excel dosya formatlarini destekliyor mu?

IronXL, XLS ve XLSX dosya formatlarını destekler ve verileri içe aktarma, dışa aktarma ve biçimlendirme dahil kapsamlı Excel dosya manipülasyonuna izin verir.

Geliştirme sırasında IronXL'i kullanmanın ücretsiz seçenekleri var mı?

IronXL, ticari olmayan geliştirme için ücretsiz olarak mevcuttur. Üretim testleri için ücretsiz bir deneme sağlanır, ticari kullanım için çeşitli fiyat planları mevcuttur.

IronXL kullanarak Razor Pages'te bir Excel dosyasını nasıl indirebilirim?

IronXL kullanarak Razor Pages'te bir Excel dosyası indirme başlatmak için bir WorkBook oluşturun, veriyle doldurun ve ardından onu bir bayt dizisine dönüştürün. Kullanıcınıza indirilebilir bir dosya olarak bayt dizisini akıtmak için Razor Pages File yöntemini kullanın.

IronXL'yi diğer kütüphaneler, örneğin NPOI, yerine tercih edilen bir seçenek yapan nedir?

IronXL, yerel C# implementasyonu, hızlı performansı, kullanım kolaylığı ve Java bileşenlerine bağımlılık duymaması nedeniyle ASP.NET Core uygulamaları için ideal olan NPOI gibi kütüphanelere göre sıkça tercih edilir.

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