Altbilgi içeriğine atla
IRONXL KULLANARAK

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

Bu eğitim, IronXL kütüphanesi kullanılarak ASP.NET Core uygulamasında bir Excel dosyasının nasıl açılacağını gösterecektir. Excel dosyalarını okuma temel adımlarını kapsayacak ve ardından verileri görüntüleyip, değiştirilmiş verileri yeniden dosyaya nasıl kaydedileceğini gösterecektir.

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. .NET Framework ve .NET Core'u destekleyerek, sadece birkaç satır kodla Excel dosyalarını yazma, değiştirme ve okuma yeteneklerini sunar. Excel dosyalarını okumaya yönelik ayrıntılı bir eğitim için lütfen bu Excel eğitimine başvurun.

IronXL kütüphanesi Excel belgelerini okuma ve yazma, onlardan veri çekme, veriyi değiştirme ve hatta sıfırdan yeni Excel dosyaları oluşturma yeteneğine sahiptir. IronXL sadece .XLS formatını değil, aynı zamanda .XLSX ile de uyumludur, Microsoft tarafından e-tabloları temsil etmek için geliştirilen XML tabanlı bir dosya formatıdır.

Ön Koşullar

Koda dalmadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  1. .NET Core 3.1 veya daha yüksek sürümü yüklü.
  2. .NET geliştirme için uygun bir IDE (Microsoft Visual Studio önerilir).
  3. ASP.NET Core ve Razor Sayfalar hakkında temel bilgi.

Yeni bir .NET Core Projesi Oluşturun

  1. Microsoft Visual Studio'yu açın ve "Create a new project" seçeneğini seçin.
  2. Proje şablonları listesinden "ASP.NET Core Web App" seçin ve "İleri"ye tıklayın.
  3. Projeniz için bir ad verin, örneğin, "Open_ExcelFile.NET_Core", bir konum seçin ve "İleri"ye tıklayın.
  4. Hedef framework olarak ".NET Core" ve sürüm olarak "ASP.NET Core 3.1 veya daha yüksek" seçin. "Proje şablonu" bölümünde "Web Application" seçin ve "Create"ye tıklayın.

IronXL Paketi Yükleyin

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

  1. Solution Explorer'da projeye sağ tıklayın ve "Manage NuGet Packages" seçeneğini seçin.
  2. "Browse" sekmesinde "IronXL" arayın ve IronXL.Excel paketi için "Yükle"ye tıklayın.

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

  1. Paketin yüklenmesi için bekleyin.

Artık ASP.NET Core projeniz ayarlıdır ve IronXL kütüphanesi yüklü ve kullanıma hazırdır.

Razor Sayfası Oluşturun

Şimdi, Excel dosyasını açmak için kod yazacağımız bir Razor Sayfası oluşturalım.

  1. Solution Explorer'da "Pages" klasörüne sağ tıklayın ve "Ekle" > "Razor Page" seçeneğini seçin.
  2. Sayfa adı olarak "ExcelOpener" girin ve "Add"e tıklayın.

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

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

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

Excel Dosyalarını Okuma

Koda dalalım. Sağlanan ExcelOpenerModel sınıfı bir Razor Sayfası Modelidir. Bu sınıfın, Excel dosyasından okunan verileri depolamak için kullanılacak Data adlı bir List<List<string>> özelliği vardır.

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 (çalışma kitabındaki ilk sayfa) verileri okumak için kullanılır. Her satır bir List<string> olarak temsil edilir ve 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, belirtilen dosya yolundan Excel belgesini yükler. Excel sayfasını yüklemek ve okumak için 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(): Belirtilen satır ve sütun dizinlerindeki hücreyi alır ve değerini bir dizeye dönüştürür. Bu, satır ve sütun indekslerine dayalı olarak bir Excel dosyasında belirli hücrelere veya aralıklara erişim sağlayabilen bir dizin yöntemi örneğidir.

Kısa Açıklama

ExcelOpener.cshtml.cs dosyasında, ExcelOpenerModel adlı bir sınıf Razor Sayfası modelini temsil eder. Bu, Excel dosyasındaki verileri tutacak olan Data adında, List<List<string>> türünde bir özelliği içerir.

Sayfa talep edildiğinde çağrılan OnGet yöntemi, Excel dosyasından verileri okumaktan sorumludur. IronXL kullanarak Excel dosyasını yükler, varsayılan çalışma sayfasını seçer ve Data özelliğini doldurmak için satır ve sütunlar üzerinde iterasyon yapar.

Excel Dosyalarını Yazma

ExcelOpenerModel sınıfındaki OnPost yöntemi, Excel dosyasındaki 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 değerlerini ç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

Önemli Yöntemler Açıklama

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

Kısa Açıklama

Form gönderildiğinde çağrılan OnPost yöntemi, değiştirilen verileri tekrar Excel dosyasına kaydeder. 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 dosyasında, Excel dosyasından verileri görüntülemek ve düzenlemek için bir form tanımlanmıştır. Her bir hücre değeri bir metin giriş alanında görüntülenir. Düzenlendikten 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 Gitme

_Layout.cshtml dosyasında, sayfaya bir bağlantı gezinme menüsüne eklenmiştir. Bu bağlantıya tıklayarak Excel açıcı sayfasına gidebilirsiniz.

<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ırma ve Çıktısını Açıklama

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

Uygulama çalıştığında, gezinme çubuğundaki ilgili bağlantıya tıklayarak "ExcelOpener" sayfasına gidin. Sayfa, Excel'deki verileri tablo formatında gösterecektir.

Tablodaki verileri değiştirebilir ve değişiklikleri Excel dosyasına kaydetmek için "Kaydet" butonuna tıklayabilirsiniz.

ASP .NET Core'da Excel Dosyası Nasıl Açılır, Şekil 3: Web Uygulamasında Excel verilerini görüntüleyin Web Uygulamasında Excel verilerini görüntüle

Bu eğitimde IronXL kullanarak ASP.NET Core uygulamasında bir Excel dosyasının nasıl açılacağını gösterdik. IronXL, Excel dosyalarını okumak ve değiştirmek için basit ve kullanışlı bir yol sunar. Daha gelişmiş özellikler ve işlevsellik için IronXL belgelendirmesini keşfedebilirsiniz.

IronXL, ücretsiz deneme sunarak yeteneklerini değerlendirmenizi sağlar. Projeleriniz için faydalı bulursanız, $999'dan başlayan bir lisans satın alabilirsiniz.

Sıkça Sorulan Sorular

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

Bir ASP.NET Core uygulamasında IronXL kütüphanesini kullanarak bir Excel dosyasını açabilirsiniz. İlk olarak, IronXL paketini NuGet aracılığıyla yükleyin, ardından WorkBook.Load ile Excel dosyanızı yükleyin. Verilere, hesap sayfasını seçerek ve satır ve sütunlar üzerinde yineleme yaparak erişebilirsiniz.

IronXL’i, Excel manipülasyonu için Office Interop’a tercih etmenin faydaları nelerdir?

IronXL, Microsoft Excel veya Office Interop bağımlılıklarına ihtiyaç duymadan Excel dosyalarıyla çalışmanıza olanak tanır, Microsoft Office'in yüklenmesinin mümkün olmadığı sunucu ortamları için idealdir. Hem .NET Framework hem de .NET Core desteği sunar ve hem .XLS hem de .XLSX formatlarını ele alır.

Excel verilerini bir web uygulamasında Razor Pages 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 ve okuyan bir Razor Sayfası oluşturabilirsiniz. Her hücre verisini metin giriş alanlarına işlemek için bir HTML formu kullanarak kullanıcıların verileri web arayüzünde görüntülemelerini ve düzenlemelerini sağlayın.

Excel işlemleri için bir ASP.NET Core projesi kurmak için gerekenler nelerdir?

Excel işlemleri için bir ASP.NET Core projesi kurmak için, .NET Core 3.1 veya daha yüksek bir sürüme, bir IDE’ye (örneğin Microsoft Visual Studio) ve ASP.NET Core ve Razor Pages hakkında temel bir anlayışa ihtiyacınız vardır. IronXL paketini NuGet’ten yükleyerek Excel dosyaları ile çalışmaya başlayabilirsiniz.

ASP.NET Core’da bir Excel dosyasını nasıl düzenler ve değişiklikleri kaydederim?

Bir Razor Sayfasındaki bir HTML formu aracılığıyla kullanıcıların veriyi değiştirmesine izin vererek bir Excel dosyasını düzenleyebilir ve değişiklikleri kaydedebilirsiniz. Veriyi güncellemek için sheet.SetCellValue ve değiştirilmiş Excel dosyasını kaydetmek için workbook.SaveAs gibi IronXL yöntemlerini kullanın.

Bir Excel dosya işlemleri için Razor Sayfası kurulumunda hangi adımlar yer alır?

Razor Sayfası kurmak, ASP.NET Core projenizde yeni bir Razor Sayfası oluşturmayı içerir. Razor Sayfası'nı IronXL ile Excel verilerini yüklemek, bir web formunda görüntülemek ve form gönderimlerini işleyerek değişiklikleri tekrar Excel dosyasına kaydetmek için kullanın.

ASP.NET Core’da Excel dosyam yüklenmezse nasıl sorun gideririm?

Excel dosyanız yüklenmezse, 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ını kontrol edin.

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

Evet, IronXL, yeteneklerini değerlendirmenize olanak tanıyan ücretsiz bir deneme sürümü sunar. Bu deneme sürümünü kullanarak ihtiyaçlarınızı karşıladığından emin olun, ardından bir lisans satın almaya karar verin.

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ı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara