Altbilgi içeriğine atla
IRONXL KULLANARAK

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 oluşturulacağını gösterecektir. Bu görüntüleyici, kullanıcıların doğrudan web sayfalarından Excel dosyalarını görüntülemelerine, düzenlemelerine ve gezmelerine olanak tanır.

IronXL nedir?

IronXL, Excel işlemleriyle ilgili çok sayıda işlevselliği sağlayan güçlü bir .NET kütüphanesidir. XLS, XLSX, CSV ve daha pek çok dosya formatında .NET geliştiricilerinin Excel belgelerini yazmasına, düzenlemesine ve okumasına olanak tanıyan 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 pek çok şey yapabilirsiniz. Tüm bu işlemler makinize Microsoft Excel yüklü olmadan gerçekleştirilebilir.

IronXL, resimleri, stilleri, koşullu biçimlendirmeleri ve diğer karmaşık Excel özelliklerini destekler ve .NET Excel işlemleri için kapsamlı bir çözüm sunar. ASP.NET MVC uygulamalarınızın veri kaynağı ve hesap tablosu gereksinimlerini 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.

Ön Koşullar

  • ASP.NET MVC hakkında temel bilgi
  • Makinanızda yüklü Visual Studio
  • IronXL kütüphanesi yüklendi. Kurulum kılavuzunu resmi dokümantasyonlarında bulabilirsiniz.

Başlarken

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

  1. Visual Studio'yu açın.
  2. Dosya > Yeni > Proje seçeneğine tıklayın.
  3. Yeni proje penceresinde ASP.NET Web Uygulaması (.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. Projenize 'ExcelViewer' adını verin, proje konumunu seçin ve Oluştur 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üleyici işlevselliğinin uygulanmasına odaklanacaktır.

Projenize IronXL Ekleyin

Excel dosya formatlarını (xls, xlsx ve csv gibi) işlemek için IronXL, Excel belgelerini yüklemek, okumak, yazmak ve hatta Excel verilerini değiştirmek için kapsamlı özellikler sunar. Formülleri, resimleri, biçimlendirmeleri ve daha fazlasını destekler.

  1. Çözüm Gezgini'nde projenize sağ tıklayın ve NuGet Paketlerini Yönet'e gidin.
  2. NuGet Paket Yöneticisi'nde IronXl.Excel için arama yapın.
  3. Projenize eklemek için Yükle'ye tıklayın.

ASP.NET'te Excel Nasıl Görüntülenir, Şekil 3: 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

IronXL'yi Paket Yöneticisi Konsolu kullanarak aşağıdaki komutla 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

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

Modelleri İnşa Etme

ExcelModel

İlk adım, Excel verisi için bir model oluşturmaktır. ExcelModel sınıfı, tek bir Excel sayfasını temsil edecek ve Excel sayfasında bulunan sayfa adı ve verileri 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 Excel sayfasının adını tutacak basit bir stringdir. Data her bir satırın Excel sayfasındaki verilerini saklamak için string dizilerinin bir listesidir.

ExcelViewModel

Şimdi ExcelViewModel oluşturacağız. Bu model bir dosya, bir mesaj ve dosyadaki tüm sayfalardan verileri temsil eden ExcelModel listesini içeren bir kaplamadı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, herhangi bir mesajı görüntülemek için bir Message stringi, ve elde edilen Excel verilerini saklamak için bir List<ExcelModel> vardır.

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

Ardından yeni bir ExcelController oluşturun. İşte sihir burada gerçekleşiyor! Excel dosyaları, IronXL'nin WorkBook.Load fonksiyonu kullanılarak yüklenir, çalışma sayfalarında döngü sağlanır, veriler çıkarılır ve ExcelViewModel 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ın ve ardından IronXL kullanarak bir WorkBook yükleyin, her bir WorkSheet döngüsünde, her WorkSheet için, çalışma sayfasının adı ve verileri ile bir ExcelModel oluştururuz. Sonra ExcelModel, ExcelViewModel içindeki ExcelData listesine eklenir.

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

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 dizininde, Excel verilerini görüntülemek için yeni bir HTML dosyası Index.cshtml oluşturun. Ardından Bootstrap'in nav-tabs kullanarak Excel dosyasındaki her bir sayfayı temsil edin. Her sayfa ayrı bir sekme olacak ve sekmenin içeriği sayfanın verileri 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ından bir sayfayı temsil eden bir sekme listesi oluşturur. İlgili sekme içeriği, ilgili sayfanın verilerini tablo formatında gösterecektir. Bazı değişiklikler yaparak, Excel dosyasını elle seçmek için bir göz atma butonu eklenir.

Programı Çalıştırma

Tüm adımları izledikten ve projeyi doğru bir şekilde kurduktan sonra, şimdi çalıştırma zamanı. Excel dosyanızdaki sayfa isimlerine göre adlandırılmış sekmeleri içeren bir web sayfası görmelisiniz. Bir sekmeye tıkladığınızda, ilgili sayfanın verileri tablo formatında görüntülenecek.

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üleyicisi oluşturdunuz! Bu güçlü kütüphane, kullanıcıların Excel dosyalarıyla daha verimli ve yönetilebilir bir şekilde çalışmasını sağlar. IronXL'in yardımıyla, .NET ortamında Excel dosyalarıyla çalışmak hiç bu kadar kolay olmamıştı.

IronXL, geniş işlevselliğini keşfetmenize ve anlamanıza imkan tanıyan bir ücretsiz deneme sunar, böylece herhangi bir peşin maliyet olmadan deneyebilirsiniz. Test edip ihtiyaçlarınız için mükemmel bir çözüm bulduğunuzda lisans ücretleri $799'den başlamaktadır.

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 NuGet Paket Yöneticisi aracılığıyla IronXL kütüphanesini 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.

Excel dosyalarını işlemek için bir ASP.NET MVC projesini 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 modeller uygulayın ve Excel dosyalarını yüklemek ve işlemek için ExcelController'ı kullanın.

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

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

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

ASP.NET'te, IronXL'in WorkBook.Load yöntemini kullanarak bir Excel dosyası yükleyebilir ve işleyebilirsiniz. Bu yöntem, Excel dosyanızını okumanıza, çalışma sayfalarında gezinmenize ve verileri görüntüleme veya daha fazla manipülasyon için çıkarmanıza olanak tanır.

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

IronXL, çeşitli Excel dosya formatları için destek, resimler ve koşullu formatlama gibi karmaşık Excel özelliklerini manipüle edebilme yeteneği içermektedir ve sunucu üzerinde Microsoft Excel yüklemesi gerektirmemesi avantajlarını sunar.

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

ASP.NET Excel görüntüleyici oluştururken yaygın sorunlar, IronXL kütüphanesinin NuGet üzerinden doğru şekilde yüklendiğinden emin olunarak, gerekli tüm modellerin ve kontrolörlerin doğru bir şekilde uygulandığını ve Excel dosyalarının desteklenen bir formatta olduğu kontrol edilerek çözülebilir.

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

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

IronXL hem Excel dosyalarını okumayı hem de yazmayı destekliyor mu?

Evet, IronXL hem Excel dosyalarını okumayı hem de yazmayı destekler. Mevcut Excel belgelerinden veri okumak ve yeni veri veya değişiklikleri XLS, XLSX ve CSV dahil olmak üzere birden fazla formatta Excel dosyalarına 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 bireysel Excel sayfalarını temsil eden modeller ve bir sayfa koleksiyonunu yönetmek ve dosya yükleme ve mesajlaşma işlemlerini gerçekleştirmek için ExcelViewModel oluşturmalısınız.

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

IronXL’ın özelliklerini, web sitelerinden ücretsiz deneme sürümünü indirerek test edebilirsiniz. Bu deneme, Excel dosyalarını .NET uygulamalarınız içinde işleme yeteneklərini keşfetmenize, başlangıçta hiçbir maliyet olmadan olanak tanır.

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