Altbilgi içeriğine atla
IRONXL KULLANARAK

ASP.NET Core'da Excel Dosyası Nasıl Açılır

Bu öğretici, IronXL kütüphanesini kullanarak ASP.NET Core uygulamasında bir Excel dosyasını nasıl açabileceğinizi gösterecektir. Excel dosyalarını okumak için temel adımlar ele alınacak ve ardından veriler görüntülenecek ve değiştirilen veriler dosyaya geri kaydedilecektir.

IronXL nedir?

IronXL, Microsoft Excel veya Office Interop bağımlılıkları gerektirmeden Excel belgeleriyle çalışmak için işlevsellik sağlayan bir .NET Excel kütüphanesidir. Hem .NET Framework'ü hem de .NET Core'u destekler ve sadece birkaç satır kod ile Excel dosyalarını yazma, işleme ve okuma yetenekleri sağlar. Excel dosyalarını okuma konusunda ayrıntılı bir öğretici için lütfen bu Excel öğreticisine bakın.

IronXL kütüphanesi, Excel belgelerini okuyabilir ve yazabilir, bunlardan veri çekebilir, verileri işleyebilir ve hatta sıfırdan yeni Excel dosyaları oluşturabilir. IronXL sadece .XLS formatını değil, aynı zamanda .XLSX formatını da uyumludur, bu format, Microsoft tarafından hesap tablolarını temsil etmek için geliştirilen XML tabanlı bir dosya formatıdır.

Gerekli Ön Koşullar

Koda dalış yapmadan önce, aşağıdakilere sahip olduğunuzdan emin olun:

  1. .NET Core 3.1 veya daha yükseği kurulu.
  2. .NET geliştirme için uygun bir IDE (Microsoft Visual Studio önerilir).
  3. ASP.NET Core ve Razor Sayfaları'nın temel anlayışı.

Yeni bir .NET Core Projesi Oluşturma

  1. Microsoft Visual Studio'yu açın ve "Yeni bir proje oluştur" seçeneğini seçin.
  2. "ASP.NET Core Web Uygulaması"nı proje şablonları listesinden seçin ve "İleri"ye tıklayın.
  3. Projeniz için bir isim sağlayın, örneğin, "Open_ExcelFile.NET_Core", bir konum seçin ve "İleri"ye tıklayın.
  4. Hedef çerçeve olarak ".NET Core" ve sürüm olarak "ASP.NET Core 3.1 veya üstü" seçeneğini belirleyin. "Proje şablonu" bölümünde "Web Uygulaması"nı seçin ve "Oluştur"a tıklayın.

IronXL Paketini Yükle

Sonraki adım, bu yeni oluşturulan projeye IronXL paketini yüklemektir:

  1. Çözüm Gezgini'nde projeye sağ tıklayın ve "NuGet Paketlerini Yönet" seçeneğini seçin.
  2. "Gözat" sekmesinde "IronXL" arayın ve IronXl.Excel paketi için "Yükle"ye tıklayın.

    ASP .NET Core'da Excel Dosyasını Açma, Şekil 1: NuGet Paket Yöneticisi UI'de IronXL paketini arayın ve yükleyin IronXL paketini NuGet Paket Yöneticisi UI'de arayın ve yükleyin

  3. Paketin yüklenmesini bekleyin.

ASP.NET Core projeniz artık kuruldu ve IronXL kütüphanesi yüklendi ve kullanıma hazır.

Bir Razor Sayfası Oluşturun

Şimdi, Excel dosyasını açacak kodu yazmak için bir Razor Sayfası oluşturalım.

  1. Çözüm Gezgini'nde 'Sayfalar' klasörüne sağ tıklayın ve 'Ekle' > 'Razor Sayfası' seçeneğini belirleyin.
  2. Sayfa adını 'ExcelOpener' olarak girin ve 'Ekle'ye tıklayın.

    ASP .NET Core'da Excel Dosyasını Açma, Şekil 2: Yeni bir Razor Sayfası oluşturun Yeni bir Razor Sayfası oluşturun

Bu, iki dosya oluşturacaktır: ExcelOpener.cshtml ve ExcelOpener.cshtml.cs.

ExcelOpener.cshtml dosyası, sayfa için HTML işaretlemesini içerir ve ExcelOpener.cshtml.cs dosyası ise sayfanın C# arka plan kodunu içerir.

Excel Dosyalarını Okuma

Koda giriş yapalım. Sağlanan ExcelOpenerModel sınıfı bir Razor Sayfası Modelidir. Bu sınıf, bir Excel dosyasından okunan verileri depolamak için kullanılacak olan List<List<string>> özellik Data'a sahiptir.

public List<List<string>> Data { get; set; }

public ExcelOpenerModel()
{
    Data = new List<List<string>>();
}
public List<List<string>> Data { get; set; }

public ExcelOpenerModel()
{
    Data = new List<List<string>>();
}
Public Property Data() As List(Of List(Of String))

'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: public ExcelOpenerModel()
Public Sub New()
	Data = New List(Of List(Of String))()
End Sub
$vbLabelText   $csharpLabel

OnGet yönteminde, IronXL bir Excel dosyasını yüklemek ve varsayılan çalışma sayfasından (kitaplıktaki ilk sayfa) verileri okumak için kullanılır. Her satır List<string> olarak temsil edilir ve tüm bu listeler daha sonra Data özelliğine eklenir.

public void OnGet()
{
    try
    {
        Data = new List<List<string>>();
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < sheet.RowCount; i++)
        {
            var row = new List<string>();
            for (int j = 0; j < sheet.ColumnCount; j++)
            {
                row.Add(sheet.GetCellAt(i, j).Value.ToString());
            }
            Data.Add(row);
        }
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}
public void OnGet()
{
    try
    {
        Data = new List<List<string>>();
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < sheet.RowCount; i++)
        {
            var row = new List<string>();
            for (int j = 0; j < sheet.ColumnCount; j++)
            {
                row.Add(sheet.GetCellAt(i, j).Value.ToString());
            }
            Data.Add(row);
        }
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}
Public Sub OnGet()
	Try
		Data = New List(Of List(Of String))()
		' Load your Excel file
		Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")

		' Select your Worksheet
		Dim sheet As WorkSheet = workbook.DefaultWorkSheet

		For i As Integer = 0 To sheet.RowCount - 1
			Dim row = New List(Of String)()
			For j As Integer = 0 To sheet.ColumnCount - 1
				row.Add(sheet.GetCellAt(i, j).Value.ToString())
			Next j
			Data.Add(row)
		Next i
	Catch ex As Exception
		' Handle exceptions here
		Console.WriteLine(ex.Message)
	End Try
End Sub
$vbLabelText   $csharpLabel

Anahtar yöntemlerin açıklaması

  • WorkBook.Load(filepath): Bu yöntem belirli bir dosya yolundan Excel belgesini yükler. Excel sayfasını yüklemeye ve okumaya yardımcı olur.
  • workbook.DefaultWorkSheet: Bu özellik Excel elektronik tablosundaki varsayılan (ilk) Excel çalışma sayfasını alır.
  • sheet.GetCellAt(i, j).Value.ToString(): Bu, belirtilen satır ve sütun indekslerindeki hücreyi alır ve değerini bir dizeye dönüştürür. Bu, bir Excel dosyasında satır ve sütun indekslerine göre belirli hücrelere veya alanlara erişebilen bir indeks yöntemi örneğidir.

Kısa Açıklama

ExcelOpener.cshtml.cs dosyasında, ExcelOpenerModel adlı bir sınıf Razor Sayfası modelini temsil eder. Excel dosyasından gelen verileri tutacak olan List<List<string>> türünde Data adlı bir özelliğe sahiptir.

Sayfa istendiğinde çağrılan ve Excel dosyasındaki verileri okumaktan sorumlu olan OnGet yöntemi. Bu yöntem IronXL'i kullanarak Excel dosyasını yükler, varsayılan çalışma sayfasını seçer ve satır ve sütunlar üzerinde gezerek Data özelliğini doldurur.

Excel Dosyalarını Yazma

OnPost yöntemi ExcelOpenerModel sınıfında, Excel dosyasına yapılan değişiklikleri kaydetmek için kullanılır. İlk olarak, Excel dosyasını yükler ve varsayılan çalışma sayfasını alır. Daha sonra Data'dan gelen değerleri çalışma sayfasındaki hücrelere yazar ve çalışma kitabını yeni bir dosyaya kaydeder.

public void OnPost()
{
    try
    {
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        var sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < Data.Count; i++)
        {
            for (int j = 0; j < Data[i].Count; j++)
            {
                sheet.SetCellValue(i, j, Data[i][j]);
            }
        }

        // Save the Excel file
        var filename = @"C:\ModifiedData.xlsx";
        workbook.SaveAs(filename);
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}
public void OnPost()
{
    try
    {
        // Load your Excel file
        var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");

        // Select your Worksheet
        var sheet = workbook.DefaultWorkSheet;

        for (int i = 0; i < Data.Count; i++)
        {
            for (int j = 0; j < Data[i].Count; j++)
            {
                sheet.SetCellValue(i, j, Data[i][j]);
            }
        }

        // Save the Excel file
        var filename = @"C:\ModifiedData.xlsx";
        workbook.SaveAs(filename);
    }
    catch (Exception ex)
    {
        // Handle exceptions here
        Console.WriteLine(ex.Message);
    }
}
Public Sub OnPost()
	Try
		' Load your Excel file
		Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")

		' Select your Worksheet
		Dim sheet = workbook.DefaultWorkSheet

		For i As Integer = 0 To Data.Count - 1
			Dim j As Integer = 0
			Do While j < Data(i).Count
				sheet.SetCellValue(i, j, Data(i)(j))
				j += 1
			Loop
		Next i

		' Save the Excel file
		Dim filename = "C:\ModifiedData.xlsx"
		workbook.SaveAs(filename)
	Catch ex As Exception
		' Handle exceptions here
		Console.WriteLine(ex.Message)
	End Try
End Sub
$vbLabelText   $csharpLabel

Anahtar Yöntemlerin Açıklaması

  • sheet.SetCellValue(i, j, Data[i][j]): Bu yöntem, belirtilen satır ve sütun indekslerindeki hücrenin değerini ayarlar.
  • workbook.SaveAs(filepath): Bu yöntem, Excel çalışma kitabını belirtilen dosya yoluna kaydeder.

Kısa Açıklama

OnPost yöntemi, form gönderildiğinde çağrılır ve değiştirilen verileri tekrar Excel dosyasına kaydeder. O, Excel dosyasını yükler, varsayılan çalışma sayfasını seçer ve formdan alınan değiştirilen verilere göre hücre değerlerini günceller.

Excel Verilerini Düzenlemek İçin HTML Formu

ExcelOpener.cshtml içinde, Excel dosyasındaki verileri görüntülemek ve düzenlemek için bir form tanımlanmıştır. Her hücre değeri bir metin giriş alanında görüntülenir. Düzenleme bittikten sonra, 'Kaydet' düğmesine tıklamak formu gönderecek, OnPost yöntemini tetikleyecek ve değişiklikleri Excel dosyasına kaydedecektir.

@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel

<form method="post">
    <table class="table table-bordered table-striped">

        @for (int i = 0; i < Model.Data.Count; i++)
        {
            <tr>
                @for (int j = 0; j < Model.Data[i].Count; j++)
                {
                    <td>
                        <input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> 
                    </td>
                }
            </tr>
        }
    </table>

    <input type="submit" class="btn btn-primary" value="Save" /> 
</form>
@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel

<form method="post">
    <table class="table table-bordered table-striped">

        @for (int i = 0; i < Model.Data.Count; i++)
        {
            <tr>
                @for (int j = 0; j < Model.Data[i].Count; j++)
                {
                    <td>
                        <input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> 
                    </td>
                }
            </tr>
        }
    </table>

    <input type="submit" class="btn btn-primary" value="Save" /> 
</form>
HTML

Sayfaya Gitmek

_Layout.cshtml içinde, sayfaya bir bağlantı navigasyon menüsüne eklenmiştir. Bu bağlantıya tıklayarak Excel açıcı sayfasına gidilecektir.

<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
HTML

Uygulamayı Çalıştırmak ve Çıkışı Açıklamak

Visual Studio'da 'Derle' düğmesine tıklayarak veya Ctrl + Shift + B kısayolunu kullanarak uygulamayı derleyin. F5 tuşuna basarak veya Visual Studio'da 'Başlat' düğmesine tıklayarak uygulamayı çalıştırın.

Uygulama çalıştığında, navigasyon çubuğundaki ilgili bağlantıya tıklayarak 'ExcelOpener' sayfasına gidin. Sayfa, Excel'den alınan verileri tabular bir formatta görüntüler.

Tablodaki verileri değiştirebilir ve değişiklikleri Excel dosyasına geri kaydetmek için 'Kaydet' düğmesine tıklayabilirsiniz.

![ASP .NET Core'da Excel Dosyasını Açma, Şekil 3: Web Uygulamasında Excel verilerini göster](/static-assets/excel/blog/asp-net-core-open-excel-file-tutorial/asp-net-core-open-excel-file-tutorial-3.webp)

Web Uygulamasında Excel verilerini görüntüleyin

Bu eğitim, ASP.NET Core uygulamasında IronXL kullanarak bir Excel dosyasının nasıl açılacağını gösterdi. IronXL, Excel dosyalarını okumanın ve düzenlemenin basit ve kullanışlı bir yolunu sağlar. IronXL dokümantasyonunu daha gelişmiş özellikler ve işlevsellikler için keşfedebilirsiniz.

IronXL, yeteneklerini değerlendirmek için ücretsiz bir deneme sürümü sunar. Projeleriniz için faydalı bulursanız, lisansı $799'dan başlayarak satın alabilirsiniz.

Sıkça Sorulan Sorular

Excel dosyasını bir ASP.NET Core uygulamasında nasıl açabilirim?

IronXL kütüphanesini kullanarak bir ASP.NET Core uygulamasında Excel dosyası açabilirsiniz. Öncelikle, IronXL paketini NuGet üzerinden yükleyin, ardından WorkBook.Load kullanarak Excel dosyanızı yükleyin. Sayfayı seçerek ve satırları ile sütunları döngüye alarak veriye erişebilirsiniz.

Excel manipülasyonu için Office Interop'a karşı IronXL kullanmanın faydaları nelerdir?

IronXL, Microsoft Excel veya Office Interop bağımlılıklarına ihtiyaç duymadan Excel dosyaları ile çalışmanıza olanak tanır, bu da Microsoft Office'in yüklenemediği sunucu ortamları için idealdir. Hem .NET Framework hem de .NET Core'u destekler ve hem .XLS hem de .XLSX formatlarını işleyebilir.

Excel verilerini bir web uygulamasında Razor Sayfaları kullanarak nasıl görüntülerim?

Excel verilerini bir web uygulamasında görüntülemek için, IronXL kullanarak Excel verilerini yükleyen bir Razor Sayfası oluşturabilirsiniz. Kullanıcıların web arayüzü içinde verileri görmelerine ve düzenlemelerine izin veren bir HTML form kullanın.

Excel işlemleri için bir ASP.NET Core projesi kurmak için ne gerektirir?

Excel işlemleri için bir ASP.NET Core projesi kurmak için .NET Core 3.1 veya daha yüksek bir versiyona, Microsoft Visual Studio gibi bir IDE'ye ve ASP.NET Core ve Razor Sayfaları hakkında temel bir anlayışa sahip olmanız gerekir. Excel dosyaları ile çalışmak için NuGet üzerinden IronXL paketini yükleyin.

Bir ASP.NET Core uygulamasında bir Excel dosyasını nasıl düzenleyebilir ve kaydedebilirim?

Bir HTML formu aracılığıyla kullanıcıların veriyi değiştirmesine izin vererek ve ardından sheet.SetCellValue gibi IronXL yöntemlerini kullanarak veriyi güncelleyin ve workbook.SaveAs ile değiştirilen Excel dosyasını kaydedin.

Excel dosyası işlemleri için bir Razor Sayfası kurma adımları nelerdir?

Bir Razor Sayfası kurmak, ASP.NET Core projenizde yeni bir Razor Sayfası oluşturmaktır. IronXL ile Excel verilerini yüklemek ve bir web formunda görüntülemek ve form gönderimlerini ele alarak Excel dosyasına geri dönüp kaydetmek için Razor Sayfasını kullanın.

Excel dosyam ASP.NET Core'da yüklenmiyorsa nasıl çözümlerim?

Excel dosyanız yüklenmiyorsa, dosya yolunun doğru ve uygulama tarafından erişilebilir olduğundan emin olun. IronXL'in doğru yüklendiğini ve dosya formatının desteklendiğini doğrulayın. Sorunun ne olduğunu belirtebilecek herhangi bir istisna veya hata mesajı olup olmadığını kontrol edin.

IronXL kütüphanesini satın almadan önce deneyebilir miyim?

Evet, IronXL, yeteneklerini değerlendirmenize olanak sağlayan ücretsiz bir deneme sürümü sunar. Bir lisans satın almadan önce ihtiyaçlarınızı karşıladığından emin olmak için bu denemeyi kullanabilirsiniz.

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