IRONSOFTWAREHOME

Odczytywanie plików Excel w ASP.NET MVC za pomocą C# z IronXL

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

IronXL pozwala programistom ASP.NET MVC na czytanie plików Excela bezpośrednio w C# bez zależności od Microsoft Office, konwertując dane Excela do System.Data.DataTable dla łatwego wyświetlania w widokach sieciowych przy użyciu zaledwie kilku linii kodu.

Szybki start: Załaduj i przekonwertuj arkusz Excel na DataTable w MVC

Ten przykład pokazuje, jak zacząć w kilka sekund: załaduj skoroszyt Excela, wybierz jego pierwszy arkusz i skonwertuj go do System.Data.DataTable używając IronXL — bez Interopu, bez kłopotów.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Skopiuj i uruchom ten fragment kodu.

    var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak utworzyć projekt ASP.NET do odczytu Excela?

Dlaczego Visual Studio 2022 działa najlepiej?

Korzystając z Visual Studio 2022, utwórz nowy projekt ASP.NET. Visual Studio 2022 zapewnia doskonałe wsparcie dla .NET 6+ frameworks, ulepszoną funkcjonalność IntelliSense dla metod IronXL oraz lepszą wydajność podczas pracy z dużymi plikami Excela. Integracja NuGet w IDE sprawia, że instalowanie IronXL jest szczególnie proste.

Jaki szablon projektu wybrać?

Do odczytu plików Excel w ASP.NET, wybierz szablon "ASP.NET Core Web App (Model-View-Controller)". Ten szablon zapewnia czystą strukturę MVC, która oddziela przetwarzanie danych (odczyt Excela) od logiki prezentacji. Wzorzec MVC działa doskonale z konwersją IronXL na DataTable, pozwalając na ładowanie arkuszy kalkulacyjnych w kontrolerach i wyświetlanie ich w widokach bezproblemowo.

Która wersja .NET jest zalecana?

IronXL współpracuje z .NET Framework 4.6.2+ i .NET Core 3.1+. Dla nowych projektów ASP.NET MVC używaj .NET 6.0 lub wyższej dla optymalnej wydajności i bezpieczeństwa. Te wersje oferują lepsze zarządzanie pamięcią przy przetwarzaniu dużych plików Excel oraz lepsze wsparcie async/await dla konwersji typów plików arkuszy kalkulacyjnych.

Jak zainstalować bibliotekę IronXL?

Jakie są wymagania instalacyjne?


Jaka metoda instalacji jest najszybsza?

Po utworzeniu nowego projektu, zainstaluj bibliotekę IronXL. Postępuj zgodnie z tymi krokami, aby zainstalować IronXL. Otwórz konsolę menedżera pakietów NuGet i uruchom następujące polecenie:

PM > Install-Package IronXL.Excel

Jak mogę zweryfikować instalację?

Aby zweryfikować, że IronXL jest poprawnie zainstalowane, sprawdź zależności projektu w Eksploratorze rozwiązań. Powinieneś zobaczyć "IronXL" wymienione w "Dependencies > Packages". Dodatkowo, spróbuj dodać using IronXL; na początku pliku kontrolera - IntelliSense powinno natychmiast rozpoznać przestrzeń nazw. Aby rozwiązać problemy z instalacją, odwiedź przewodnik licencyjny.

Jak odczytać plik Excel w moim kontrolerze?

Jaki kod umieścić w akcji kontrolera?

Otwórz domyślny kontroler w projekcie ASP.NET (np. HomeController.cs) i zastąp metodę Index następującym kodem:

using IronXL;
using System.Data;

public ActionResult Index()
{
    // Load the Excel workbook from a specified path.
    WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");

    // Access the first worksheet from the workbook.
    WorkSheet workSheet = workBook.WorkSheets.First();

    // Convert the worksheet data to a DataTable object.
    // The 'true' parameter uses the first row as column headers
    var dataTable = workSheet.ToDataTable(true);

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}

Dlaczego używać DataTable zamiast innych formatów?

W metodzie akcji Index, załaduj plik Excela przy użyciu metody IronXL z Load. Ścieżka pliku Excel (w tym nazwa pliku) jest podawana jako parametr wywołania metody. Następnie wybierz pierwszy arkusz Excela jako arkusz roboczy i załaduj dane w nim zawarte do obiektu DataTable. Na koniec, wyślij DataTable do frontend.

DataTable jest idealne dla ASP.NET MVC, ponieważ integruje się bezproblemowo z widokami Razor i zapewnia wbudowane wsparcie dla iteracji przez wiersze i kolumny. W przeciwieństwie do obiektów niestandardowych, DataTable nie wymaga mapowania modelu i automatycznie obsługuje mieszane typy danych. Możesz także eksportować DataSet i DataTable z powrotem do Excela, gdy jest to potrzebne.

A co z obsługą błędów dla brakujących plików?

Solidna obsługa błędów zapewnia, że aplikacja nie zawiesi się, gdy pliki Excel są brakujące lub uszkodzone. Oto ulepszona wersja z odpowiednią obsługą wyjątków:

public ActionResult Index()
{
    try
    {
        string filePath = @"C:\Files\Customer Data.xlsx";
        
        // Check if file exists before attempting to load
        if (!System.IO.File.Exists(filePath))
        {
            ViewBag.Error = "Excel file not found at specified location.";
            return View(new DataTable());
        }

        // Load workbook with error handling
        WorkBook workBook = WorkBook.Load(filePath);
        
        // Verify worksheet exists
        if (workBook.WorkSheets.Count == 0)
        {
            ViewBag.Error = "No worksheets found in the Excel file.";
            return View(new DataTable());
        }

        WorkSheet workSheet = workBook.WorkSheets.First();
        var dataTable = workSheet.ToDataTable(true);
        
        return View(dataTable);
    }
    catch (Exception ex)
    {
        // Log the exception (consider using a logging framework)
        ViewBag.Error = $"Error reading Excel file: {ex.Message}";
        return View(new DataTable());
    }
}

Jak mogę wybrać różne arkusze?

IronXL oferuje wiele sposobów na wybór i pracę z określonymi arkuszami kalkulacyjnymi. Możesz uzyskać dostęp do arkuszy poprzez indeks, nazwę lub iterować przez wszystkie dostępne arkusze:

// Method 1: Select by worksheet name
WorkSheet namedSheet = workBook.GetWorkSheet("Sales Data");

// Method 2: Select by index (zero-based)
WorkSheet secondSheet = workBook.WorkSheets[1];

// Method 3: Select the default/active worksheet
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Method 4: Iterate through all worksheets
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string sheetName = sheet.Name;
    // Process each worksheet
}

Jak wyświetlić dane Excel na stronie internetowej?

Jaki kod widoku jest potrzebny?

Następny przykład pokazuje, jak wyświetlić DataTable zwrócone w poprzednim przykładzie w przeglądarce internetowej.

Plik Excel używany w tym przykładzie jest pokazany poniżej:

Arkusz kalkulacyjny Excel z nazwami klientów, kosztami wysyłki i cenami jednostkowymi - przykładowe dane do samouczka wyświetlania w sieci

Plik Excel

Otwórz widok index.cshtml (widok indeksu) i zamień kod na poniższy kod HTML:

@{
    ViewData["Title"] = "Home Page";
}

@using System.Data
@model DataTable

<div class="text-center">
    <h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>

@* Check for errors first *@
@if (ViewBag.Error != null)
{
    <div class="alert alert-danger">
        @ViewBag.Error
    </div>
}

@* Display table only if data exists *@
@if (Model != null && Model.Rows.Count > 0)
{
    <table class="table table-dark">
        <tbody>
            @foreach (DataRow row in Model.Rows)
            {
                <tr>
                    @for (int i = 0; i < Model.Columns.Count; i++)
                    {
                        <td>@row[i]</td>
                    }
                </tr>
            }
        </tbody>
    </table>
}
else
{
    <p>No data to display.</p>
}
Text

Dlaczego używać Bootstrap do stylizacji tabel?

Powyższy kod używa zwróconego z metody DataTable jako modelu. Każdy wiersz z tabeli jest drukowany na stronie internetowej za pomocą pętli @for, w tym formatowania Bootstrap dla dekoracji.

Bootstrap zapewnia responsywne projekty tabel, które automatycznie dostosowują się do różnych rozmiarów ekranu — kluczowe dla nowoczesnych aplikacji webowych. Klasa table-dark tworzy atrakcyjną tabelę o ciemnym motywie, która jest łatwa do odczytania. Dla bardziej zaawansowanego formatowania Excela, takiego jak obramowania komórek i wyrównanie lub wzory i kolory tła, IronXL zapewnia dodatkowe metody dostępu do danych ustrukturyzowanych bezpośrednio.

Jak wygląda efekt końcowy?

Uruchomienie projektu generuje wyniki pokazane poniżej:

Tabela Bootstrap wyświetlająca dane klientów z Excela z nazwami, kosztami wysyłki i cenami jednostkowymi w aplikacji ASP.NET MVC

Tabela Bootstrap

Jak mogę dodać nagłówki do tabeli?

Aby wyświetlić nagłówki kolumn z pliku Excel, zmodyfikuj kod widoku, aby zawierał sekcję nagłówków tabeli. Podczas wywoływania ToDataTable(true), IronXL automatycznie używa pierwszego wiersza jako nazw kolumn:

@if (Model != null && Model.Rows.Count > 0)
{
    <table class="table table-dark">
        <thead>
            <tr>
                @foreach (DataColumn column in Model.Columns)
                {
                    <th>@column.ColumnName</th>
                }
            </tr>
        </thead>
        <tbody>
            @foreach (DataRow row in Model.Rows)
            {
                <tr>
                    @for (int i = 0; i < Model.Columns.Count; i++)
                    {
                        <td>@row[i]</td>
                    }
                </tr>
            }
        </tbody>
    </table>
}

To udoskonalenie wyświetla poprawne nagłówki kolumn, takie jak "Nazwa klienta", "Koszt wysyłki" i "Cena jednostkowa" z pliku Excel. Dla bardziej skomplikowanych scenariuszy dotyczących zakresów nazwanych lub tabel nazwanych, IronXL zapewnia dodatkowe metody dostępu do danych ustrukturyzowanych bezpośrednio.

Często Zadawane Pytania

Jak odczytać pliki Excel w ASP.NET MVC bez pakietu Microsoft Office?

IronXL pozwala na odczytywanie plików Excel bezpośrednio w C# bez żadnych zależności od Microsoft Office. Wystarczy zainstalować IronXL za pośrednictwem NuGet, a następnie użyć WorkBook.Load(), aby otworzyć plik Excel i przekonwertować go na DataTable za pomocą zaledwie jednej linii kodu: var dataTable = IronXL.WorkBook.Load('CustomerData.xlsx').DefaultWorkSheet.ToDataTable(true);

Jaki jest najszybszy sposób konwersji danych z Excela do DataTable w ASP.NET?

IronXL udostępnia metodę ToDataTable(), która natychmiast konwertuje arkusze kalkulacyjne Excel na obiekty System.Data.DataTable. Po załadowaniu skoroszytu za pomocą IronXL należy przejść do dowolnego arkusza i wywołać metodę ToDataTable(true), aby uwzględnić nagłówki. Konwersja ta wymaga zaledwie jednej linii kodu i działa płynnie z widokami ASP.NET MVC.

Którą wersję .NET należy używać do przetwarzania plików Excel w aplikacjach internetowych?

IronXL obsługuje .NET Framework 4.6.2+ i .NET Core 3.1+. W przypadku nowych projektów ASP.NET MVC zaleca się użycie .NET 6.0 lub nowszego, ponieważ oferuje on ulepszone zarządzanie pamięcią podczas przetwarzania dużych plików Excel za pomocą IronXL oraz lepszą obsługę async/await dla operacji na arkuszach kalkulacyjnych.

Który szablon projektu Visual Studio najlepiej sprawdza się w przypadku funkcji odczytu plików Excel?

Podczas tworzenia projektu wybierz szablon „ASP.NET Core Web App (Model-View-Controller)”. Ta struktura MVC doskonale uzupełnia funkcję konwersji DataTable w IronXL, umożliwiając ładowanie i przetwarzanie plików Excel w kontrolerach przy jednoczesnym przejrzystym wyświetlaniu danych w widokach.

Jak zainstalować bibliotekę do odczytu plików Excel w moim projekcie ASP.NET?

Zainstaluj IronXL za pomocą konsoli NuGet Package Manager, uruchamiając polecenie „Install-Package IronXL.Excel”. Po instalacji sprawdź, czy biblioteka została poprawnie dodana, sprawdzając zależności projektu i dodając „using IronXL;” do kontrolera — IntelliSense powinno natychmiast rozpoznać przestrzeń nazw.

Why choose DataTable format when using IronXL?

The `DataTable` format is ideal for ASP.NET MVC applications because it integrates seamlessly with Razor views, allows for straightforward iteration over data rows and columns without model mapping, and accommodates mixed data types efficiently.

What steps are required to install IronXL in an ASP.NET MVC project?

Installation involves adding IronXL via the NuGet Package Manager in Visual Studio. It requires opening the NuGet Package Manager Console and executing a specific command to add IronXL to the project's dependencies.

How do you handle errors when reading Excel files with IronXL?

IronXL supports robust error handling such as checking file existence before loading, catching exceptions during the workbook loading process, and managing missing worksheet scenarios. This ensures application stability even if Excel files are corrupted or absent.

Can IronXL select specific worksheets from an Excel file?

Yes, IronXL allows developers to select worksheets by name, index, or default setting, and it also provides functionality to iterate through all available worksheets in a workbook.

What are some styling options for displaying Excel data using IronXL in web apps?

IronXL, when used with ASP.NET MVC, enables styling options like Bootstrap for responsive table layouts and additional IronXL methods for setting cell borders, alignment, patterns, and colors within spreadsheets.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,237,574Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronXL"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronXL do lokalizacji, takie jak ~/Libs w katalogu rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Myszy na Odwołania, wybierz Przeglądaj, "IronXL.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta