Altbilgi içeriğine atla
IRONXL KULLANARAK
ASP .NET'te Excel Dosyalarını Görüntüleme | IronXL

ASP.NET'te Excel Nasıl Görüntülenir

Bu kapsamlı eğitim, ASP.NET MVC ve IronXL kullanarak bir Excel görüntüleyici nasıl yapılacağını gösterecektir. Bu görüntüleyici kullanıcıların Excel dosyalarını doğrudan web sayfalarından görüntülemelerine, düzenlemelerine ve gezmelerine olanak tanıyacaktır.

IronXL Nedir?

IronXL, Excel işlemleriyle ilgili birçok işlevsellik sunan güçlü bir .NET kütüphanesidir. XLS, XLSX, CSV ve daha fazlası dahil olmak üzere çeşitli dosya formatlarında Excel belgelerini yazma, değiştirme ve okuma olanakları sunan basitleştirilmiş bir API sunar.

IronXL ile Excel dosyalarını okuyabilir, veri çıkarabilir, çalışma sayfaları ekleyebilir veya düzenleyebilir, satır ve sütunlar oluşturabilir veya değiştirebilir, formüller uygulayabilir, değişiklikleri kaydedebilir ve daha fazlasını yapabilirsiniz. Tüm bu işlemler makinenizde Microsoft Excel yüklü olmasına gerek olmadan gerçekleştirilebilir.

IronXL, resimleri, biçimlendirmeyi, koşullu biçimlendirmeyi ve diğer karmaşık Excel özelliklerini destekleyerek, .NET Excel operasyonları için kapsamlı bir çözüm sunar. Veri kaynağı ve hesap tablosu gereksinimlerini ASP.NET MVC uygulamalarınız için karşılamak için mükemmeldir. IronXL kütüphanesi, ASP.NET Web Uygulamalarında Excel dosyalarını görüntülemek için kullanılacaktır.

Gereksinimler

  • ASP.NET MVC hakkında temel bilgi
  • Makinenize Visual Studio yüklü
  • IronXL kütüphanesini yüklediniz. Yükleme kılavuzunu resmi belgelerinde bulabilirsiniz.

Başlarken

Öncelikle, Visual Studio'da yeni bir ASP.NET MVC projesi oluşturalım.

  1. Visual Studio'yu açın.
  2. File > New > Projecte tıklayın.
  3. Yeni proje penceresinde, ASP.NET Web Application (.NET Framework) şablonunu seçin.

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 1: Visual Studio'da yeni bir ASP.NET Web Uygulaması oluşturun Visual Studio'da yeni bir ASP.NET Web Uygulaması oluşturun

  1. Projenizi ExcelViewer olarak adlandırın, proje konumunu seçin ve Create düğmesine tıklayın.

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 2: Projenizi yapılandırın Projenizi yapılandırın

Bu makale, bu ASP.NET MVC uygulamasında Excel görüntüleme işlevselliğinin uygulanmasına odaklanacaktır.

Projenize IronXL Ekleme

Excel dosya formatlarını (örneğin, .xls, .xlsx ve .csv) işlemek için IronXL, Excel belgelerini yüklemek, okumak, yazmak ve hatta Excel verilerini değiştirmek için kapsamlı özellikler sunar. Formül, resim, biçimlendirme gibi bir çok şeyi destekler.

  1. Solution Explorerda projenize sağ tıklayın ve Manage NuGet Packagesa gidin.
  2. NuGet Paket Yöneticisi'nde IronXL.Excel arayın.
  3. Projeye eklemek için Installe tıklayın.

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 3: NuGet Paket Yöneticisi UI'da IronXL paketini arayın ve yükleyin NuGet Paket Yöneticisi UI'ında IronXL paketini arayın ve yükleyin

IronXL'yi, Paket Yöneticisi Konsolu ile aşağıdaki komutu kullanarak da yükleyebilirsiniz:

Install-Package IronXL.Excel

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 4: Paket Yöneticisi Konsolundan IronXL paketini yükleyin Paket Yöneticisi Konsolundan IronXL paketini yükleyin

Şimdi IronXL yüklendiğine göre, bir sonraki adıma geçelim.

Modelleri Oluşturma

ExcelModel

İlk adım Excel verileri için bir model oluşturmaktır. ExcelModel sınıfı, tek bir Excel sayfasını temsil edecek ve Excel sayfasındaki mevcut verileri ve sayfa adını içerecektir.

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelModel
    {
        public string SheetName { get; set; }

        // Data is a list of string arrays, each array represents a row in the sheet.
        public List<string[]> Data { get; set; }
    }
}
namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelModel
    {
        public string SheetName { get; set; }

        // Data is a list of string arrays, each array represents a row in the sheet.
        public List<string[]> Data { get; set; }
    }
}
Imports System.Collections.Generic

Namespace Excel_File_Viewer_IronXl.Models
    Public Class ExcelModel
        Public Property SheetName As String

        ' Data is a list of string arrays, each array represents a row in the sheet.
        Public Property Data As List(Of String())
    End Class
End Namespace
$vbLabelText   $csharpLabel

ExcelModel, iki özellik ile tanımlanmıştır, SheetName ve Data. SheetName, her bir Excel sayfasının adını tutmak için basit bir dizgedir. Data, her satırın verilerini Excel sayfasında saklamak için dizi listesi.

ExcelViewModel

Sonraki adım, ExcelViewModel oluşturmak. Bu model, bir dosyayı, bir mesajı ve dosyadaki tüm sayfalardan verileri temsil eden ExcelModel listesi içeren bir sarmalayıcıdır.

using Microsoft.AspNetCore.Http;
using System.Collections.Generic;

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelViewModel
    {
        public IFormFile File { get; set; }  // For uploading Excel file
        public string Message { get; set; }  // Message for storing success/error messages
        public List<ExcelModel> ExcelData { get; set; }  // List to store data from all sheets
    }
}
using Microsoft.AspNetCore.Http;
using System.Collections.Generic;

namespace Excel_File_Viewer_IronXl.Models
{
    public class ExcelViewModel
    {
        public IFormFile File { get; set; }  // For uploading Excel file
        public string Message { get; set; }  // Message for storing success/error messages
        public List<ExcelModel> ExcelData { get; set; }  // List to store data from all sheets
    }
}
Imports Microsoft.AspNetCore.Http
Imports System.Collections.Generic

Namespace Excel_File_Viewer_IronXl.Models
    Public Class ExcelViewModel
        Public Property File As IFormFile ' For uploading Excel file
        Public Property Message As String ' Message for storing success/error messages
        Public Property ExcelData As List(Of ExcelModel) ' List to store data from all sheets
    End Class
End Namespace
$vbLabelText   $csharpLabel

Bu sınıf, görünüm modeli olarak kullanılacaktır. Dosya yükleme için bir IFormFile özelliği, mesajları göstermek için bir Message dizgesi, ve alınan Excel verilerini saklamak için bir List<ExcelModel> içerir.

5. Veri çıkarımı için Excel dosyalarını yüklemek üzere ExcelController oluşturun

Sonra yeni bir ExcelController oluşturun. Sihrin nerede gerçekleştiğini burasıdır! Excel dosyalar IronXL'nin WorkBook.Load fonksiyonu kullanılarak yüklenir, sayfalar döngüye alınır, veri çıkarılır ve ExcelViewModel'ye eklenir.

using Excel_File_Viewer_IronXl.Models;
using IronXL;
using System.Collections.Generic;
using System.Web.Mvc;
using System;
using System.Linq;

public class ExcelController : Controller
{
    // GET: Excel
    public ActionResult Index()
    {
        var model = new ExcelViewModel();

        // Define the file path for the Excel file
        string filePath = Server.MapPath("~/App_Data/Test.xlsx"); 

        // List to store data for each sheet
        List<ExcelModel> data = new List<ExcelModel>();

        try
        {
            // Load workbook directly from a file path
            var workbook = WorkBook.Load(filePath);

            // Loop through all worksheets in the workbook
            foreach (var worksheet in workbook.WorkSheets)
            {
                // Add each worksheet's name and data to the data list
                data.Add(new ExcelModel
                {
                    SheetName = worksheet.Name,
                    Data = worksheet.Rows.Select(r => r.ToArray().Select(c => c.Value.ToString()).ToArray()).ToList()
                });
            }

            model.ExcelData = data;
            model.Message = "File processed successfully!";
        }
        catch (Exception ex)
        {
            model.Message = $"Error occurred while processing file: {ex.Message}";
        }

        return View(model);
    }
}
using Excel_File_Viewer_IronXl.Models;
using IronXL;
using System.Collections.Generic;
using System.Web.Mvc;
using System;
using System.Linq;

public class ExcelController : Controller
{
    // GET: Excel
    public ActionResult Index()
    {
        var model = new ExcelViewModel();

        // Define the file path for the Excel file
        string filePath = Server.MapPath("~/App_Data/Test.xlsx"); 

        // List to store data for each sheet
        List<ExcelModel> data = new List<ExcelModel>();

        try
        {
            // Load workbook directly from a file path
            var workbook = WorkBook.Load(filePath);

            // Loop through all worksheets in the workbook
            foreach (var worksheet in workbook.WorkSheets)
            {
                // Add each worksheet's name and data to the data list
                data.Add(new ExcelModel
                {
                    SheetName = worksheet.Name,
                    Data = worksheet.Rows.Select(r => r.ToArray().Select(c => c.Value.ToString()).ToArray()).ToList()
                });
            }

            model.ExcelData = data;
            model.Message = "File processed successfully!";
        }
        catch (Exception ex)
        {
            model.Message = $"Error occurred while processing file: {ex.Message}";
        }

        return View(model);
    }
}
Imports Excel_File_Viewer_IronXl.Models
Imports IronXL
Imports System.Collections.Generic
Imports System.Web.Mvc
Imports System
Imports System.Linq

Public Class ExcelController
    Inherits Controller

    ' GET: Excel
    Public Function Index() As ActionResult
        Dim model As New ExcelViewModel()

        ' Define the file path for the Excel file
        Dim filePath As String = Server.MapPath("~/App_Data/Test.xlsx")

        ' List to store data for each sheet
        Dim data As New List(Of ExcelModel)()

        Try
            ' Load workbook directly from a file path
            Dim workbook = WorkBook.Load(filePath)

            ' Loop through all worksheets in the workbook
            For Each worksheet In workbook.WorkSheets
                ' Add each worksheet's name and data to the data list
                data.Add(New ExcelModel With {
                    .SheetName = worksheet.Name,
                    .Data = worksheet.Rows.Select(Function(r) r.ToArray().Select(Function(c) c.Value.ToString()).ToArray()).ToList()
                })
            Next

            model.ExcelData = data
            model.Message = "File processed successfully!"
        Catch ex As Exception
            model.Message = $"Error occurred while processing file: {ex.Message}"
        End Try

        Return View(model)
    End Function
End Class
$vbLabelText   $csharpLabel

Burada, bir ExcelViewModel başlatılır ve sonra WorkBook IronXL kullanılarak yüklenir, her bir WorkSheet üzerinde döngü yapılır, ve her WorkSheet için, sayfanın adı ve verileri ile bir ExcelModel oluştururuz. Sonrasında, ExcelModel, ExcelViewModel içindeki ExcelData listesine eklenir.

Aşağıdaki Excel dosyasının verileri yüklenecek ve görüntülenecektir:

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 5: Örnek Excel dosyası Örnek Excel dosyası

6. Görünümü Oluşturun

Views/Excel dizininizde, Excel verilerini görüntülemek üzere yeni bir HTML dosyası Index.cshtml oluşturun. Sonra her bir sayfayı Excel dosyasında temsil etmek için Bootstrap'ın nav-tabs kullanın. Her sayfa ayrı bir sekme olacak ve sekmenin içeriği sayfa verisi olacaktır.

@model Excel_File_Viewer_IronXl.Models.ExcelViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Excel File Viewer</h2>

@if (Model.ExcelData != null)
{
    <ul class="nav nav-tabs" id="myTab" role="tablist">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <li class="nav-item">
                <a class="nav-link @(i == 0 ? "active" : "")" id="tab-@i" data-toggle="tab" href="#content-@i" role="tab" aria-controls="content-@i" aria-selected="@(i == 0)">
                    @Model.ExcelData[i].SheetName
                </a>
            </li>
        }
    </ul>
    <div class="tab-content" id="myTabContent">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <div class="tab-pane fade @(i == 0 ? "show active" : "")" id="content-@i" role="tabpanel" aria-labelledby="tab-@i">
                <table class="table table-bordered">
                    @foreach (var row in Model.ExcelData[i].Data)
                    {
                        <tr>
                            @foreach (var cell in row)
                            {
                                <td>@cell</td>
                            }
                        </tr>
                    }
                </table>
            </div>
        }
    </div>
}
@model Excel_File_Viewer_IronXl.Models.ExcelViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Excel File Viewer</h2>

@if (Model.ExcelData != null)
{
    <ul class="nav nav-tabs" id="myTab" role="tablist">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <li class="nav-item">
                <a class="nav-link @(i == 0 ? "active" : "")" id="tab-@i" data-toggle="tab" href="#content-@i" role="tab" aria-controls="content-@i" aria-selected="@(i == 0)">
                    @Model.ExcelData[i].SheetName
                </a>
            </li>
        }
    </ul>
    <div class="tab-content" id="myTabContent">
        @for (int i = 0; i < Model.ExcelData.Count; i++)
        {
            <div class="tab-pane fade @(i == 0 ? "show active" : "")" id="content-@i" role="tabpanel" aria-labelledby="tab-@i">
                <table class="table table-bordered">
                    @foreach (var row in Model.ExcelData[i].Data)
                    {
                        <tr>
                            @foreach (var cell in row)
                            {
                                <td>@cell</td>
                            }
                        </tr>
                    }
                </table>
            </div>
        }
    </div>
}
$vbLabelText   $csharpLabel

Bu kod örneğinde, nav nav-tabs, Excel dosyasındaki her bir sayfayı temsil eden sekme listesini oluşturacak. İlgili sekme içeriği, tablonun içinde sayfanın verilerini gösterecek. Bazı değişiklikler yaparak, Excel dosyasını manuel olarak seçmek için bir göz atma butonu eklenir.

Programı Çalıştırma

Tüm adımları izledikten ve projeyi doğru şekilde ayarladıktan sonra, çalıştırma zamanı geldi. Excel dosyanızdaki sayfa adlarıyla adlandırılmış sekmeleri olan bir web sayfası görmelisiniz. Bir sekmeye tıkladığınızda, ilgili sayfanın verileri bir tablo formatında görüntülenecektir.

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 6: Excel Görüntüleyici Excel Görüntüleyici

Sonuç

IronXL kullanarak bir ASP.NET Excel görüntüleyici oluşturmuş oldunuz! Bu güçlü kütüphane, kullanıcıların Excel dosyalarıyla daha verimli ve yönetilebilir bir şekilde çalışmasına olanak tanır. IronXL yardımıyla, .NET ortamında Excel dosyalarıyla uğraşmak hiç bu kadar kolay olmamıştı.

IronXL, geniş işlevselliğini ön maliyet olmadan keşfetmenizi ve anlamanızı sağlayan bir ücretsiz deneme sunar. Test ettikten ve ihtiyaçlarınıza olan en iyi çözüm olduğunu bulduktan sonra lisans, $999'den başlar.

Sıkça Sorulan Sorular

ASP.NET MVC kullanarak bir Excel görüntüleyici nasıl oluşturabilirim?

Visual Studio'da yeni bir proje kurarak ve IronXL kütüphanesini NuGet Paket Yöneticisi aracılığıyla ekleyerek ASP.NET MVC kullanarak bir Excel görüntüleyici oluşturabilirsiniz. Bu, Excel dosyalarını doğrudan web uygulamanızda yüklemenize, görüntülemenize ve manipüle etmenize olanak tanır.

ASP.NET MVC projesini Excel dosyalarını işlemek için nasıl kurarım?

Excel dosyalarını işlemek için bir ASP.NET MVC projesi kurmak için, Visual Studio'yu açın, yeni bir ASP.NET Web Uygulaması projesi oluşturun ve IronXL kütüphanesini NuGet üzerinden yükleyin. Ardından, Excel verilerini yönetmek için ExcelModel ve ExcelViewModel gibi modelleri uygulayın ve IronXL'in WorkBook.Load fonksiyonunu kullanarak Excel dosyalarını yüklemek ve işlemek için bir ExcelController kullanın.

ASP.NET uygulamasında birden fazla Excel sayfasını görüntüleyebilir miyim?

Evet, IronXL kullanarak Excel dosyasını yükleyerek ve ardından Bootstrap'in nav-tabs kullanarak her sayfa için ayrı sekmeler oluşturup, verileri bir tablo formatında göstererek ASP.NET uygulamanızda birden fazla Excel sayfasını görüntüleyebilirsiniz.

Bir .NET kütüphanesi kullanarak ASP.NET’te Excel dosyasını nasıl yükler ve işlerim?

ASP.NET’te, IronXL’in WorkBook.Load yöntemi kullanılarak bir Excel dosyası yüklenip işlenebilir. Bu yöntem, Excel dosyasını okumanıza, hesap sayfaları boyunca yineleme yapmanıza ve verileri gösterim veya daha fazla işlem için çıkarmanıza olanak tanır.

.NET'te Excel işlemleri için IronXL kullanmanın avantajları nelerdir?

IronXL’in Excel işlemleri için sunduğu avantajlar, çeşitli Excel dosya formatları desteği, resimler ve koşullu biçimlendirme gibi karmaşık Excel özelliklerini manipüle etme yeteneği ve sunucu üzerinde Microsoft Excel yüklemesine ihtiyaç duymama avantajlarını içerir.

ASP.NET Excel görüntüleyici oluştururken yaygın sorunlar nasıl giderilir?

ASP.NET Excel görüntüleyici oluştururken yaygın sorunlar, IronXL kütüphanesinin NuGet üzerinden doğru yüklenip yüklenmediğini kontrol ederek, gerekli tüm model ve denetleyicilerin doğru bir şekilde uygulanıp uygulanmadığını doğrulayarak ve Excel dosyalarının desteklenen bir formatta olup olmadığını kontrol ederek giderilir.

Excel dosyalarını doğrudan bir ASP.NET web sayfasından düzenlemek mümkün müdür?

Evet, IronXL kullanarak Excel dosyalarını doğrudan bir ASP.NET web sayfasından düzenlemek mümkündür. Kütüphane, Excel dosyalarını web uygulamanıza yüklemenize, verileri değiştirmenize ve dosyaya geri kaydetmenize olanak tanır.

IronXL, Excel dosyalarını okumak ve yazmak için her iki işlemi de destekliyor mu?

Evet, IronXL hem Excel dosyalarını okuma hem de yazma işlemlerini destekler. Mevcut Excel belgelerinden veri okumak ve çoklu formatlarda, XLS, XLSX ve CSV dahil olmak üzere yeni veriler veya değişiklikler yazmak için kullanabilirsiniz.

Bir ASP.NET MVC uygulamasında Excel verilerini yönetmek için hangi modeller oluşturulmalıdır?

Bir ASP.NET MVC uygulamasında, ExcelModel gibi modeller, bireysel Excel sayfalarını temsil etmek için ve ExcelViewModel gibi modeller, sayfa koleksiyonunu yönetmek ve dosya yükleme ve mesajlaşmayı ele almak için oluşturulmalıdır.

IronXL’in özelliklerini satın almadan önce nasıl test edebilirim?

IronXL’in özelliklerini test etmek için web sitelerinden ücretsiz deneme sürümünü indirerek yapabilirsiniz. Bu sürüm, .NET uygulamalarınız içinde Excel dosyalarını işleme yeteneklerini herhangi bir başlangıç maliyeti olmadan keşfetmenize olanak tanır.

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