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:
- .NET Core 3.1 veya daha yükseği kurulu.
- .NET geliştirme için uygun bir IDE (Microsoft Visual Studio önerilir).
- ASP.NET Core ve Razor Sayfaları'nın temel anlayışı.
Yeni bir .NET Core Projesi Oluşturma
- Microsoft Visual Studio'yu açın ve "Yeni bir proje oluştur" seçeneğini seçin.
- "ASP.NET Core Web Uygulaması"nı proje şablonları listesinden seçin ve "İleri"ye tıklayın.
- Projeniz için bir isim sağlayın, örneğin, "Open_ExcelFile.NET_Core", bir konum seçin ve "İleri"ye tıklayın.
- 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:
- Çözüm Gezgini'nde projeye sağ tıklayın ve "NuGet Paketlerini Yönet" seçeneğini seçin.
-
"Gözat" sekmesinde "IronXL" arayın ve IronXl.Excel paketi için "Yükle"ye tıklayın.
IronXL paketini NuGet Paket Yöneticisi UI'de arayın ve yükleyin - 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.
- Çözüm Gezgini'nde 'Sayfalar' klasörüne sağ tıklayın ve 'Ekle' > 'Razor Sayfası' seçeneğini belirleyin.
-
Sayfa adını 'ExcelOpener' olarak girin ve 'Ekle'ye tıklayın.
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
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
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
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>
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>
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.

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.




