KORZYSTANIE Z IRONXL

Jak otworzyć plik Excel w ASP .NET Core

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

W tym samouczku pokażemy, jak otworzyć plik Excel za pomocą IronXL w aplikacji ASP.NET Core przy użyciu biblioteki IronXL. Obejmuje on podstawowe kroki odczytu plików Excel, a następnie wyświetlania danych z nich oraz zapisywania zmodyfikowanych danych z powrotem do pliku.

Czym jest IronXL?

Biblioteka IronXL dla .NET dla programu Excel, która zapewnia funkcjonalność do pracy z dokumentami Excel bez konieczności korzystania z programu Microsoft Excel lub interfejsu Office Interop. Obsługuje zarówno .NET Framework, jak i .NET Core, zapewniając możliwość pisania, manipulowania i odczytywania plików Excel za pomocą zaledwie kilku linii kodu. Szczegółowy samouczek dotyczący odczytu plików Excel można znaleźć w tym samouczku dotyczącym programu Excel.

Biblioteka IronXL może odczytywać i zapisywać dokumenty Excel, wyodrębniać z nich dane, przetwarzać je, a nawet tworzyć nowe pliki Excel od podstaw. IronXL obsługuje nie tylko format .XLS, ale jest również kompatybilny z formatem .XLSX, który jest formatem plików opartym na XML, opracowanym przez firmę Microsoft do przedstawiania arkuszy kalkulacyjnych.

Wymagania wstępne

Przed zanurzeniem się w kod, upewnij się, że masz następujące:

  1. Zainstalowany .NET Core 3.1 lub nowszy.
  2. Odpowiednie środowisko IDE do programowania w .NET (zalecane jest Microsoft Visual Studio).
  3. Podstawowa znajomość ASP.NET Core i Razor Pages.

Utwórz nowy projekt .NET Core

  1. Otwórz program Microsoft Visual Studio i wybierz opcję "Utwórz nowy projekt".
  2. Wybierz "ASP.NET Core Web App" z listy szablonów projektów i kliknij "Dalej".
  3. Nadaj nazwę projektowi, na przykład "Open_Excel_File_.NET_Core", wybierz lokalizację i kliknij "Dalej".
  4. Wybierz ".NET Core" jako docelowy framework i "ASP.NET Core 3.1 lub nowszy" jako wersję. W sekcji "Szablon projektu" wybierz "Aplikacja internetowa" i kliknij "Utwórz".

Zainstaluj pakiet IronXL

Kolejnym krokiem jest zainstalowanie pakietu IronXL w tym nowo utworzonym projekcie:

  1. Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz opcję "Zarządzaj pakietami NuGet".
  2. W zakładce "Przeglądaj" wyszukaj "IronXL" i kliknij "Zainstaluj" dla pakietu IronXL.Excel.

Jak otworzyć plik Excel w ASP .NET Core, Rysunek 1: Wyszukaj i zainstaluj pakiet IronXL w interfejsie Menedżera Pakietów NuGet Wyszukaj i zainstaluj pakiet IronXL w interfejsie użytkownika NuGet Package Manager

  1. Poczekaj, aż pakiet zostanie zainstalowany.

Twój projekt ASP.NET Core jest już skonfigurowany, a biblioteka IronXL jest zainstalowana i gotowa do użycia.

Utwórz stronę Razor

Teraz stwórzmy stronę Razor, aby napisać kod otwierający plik Excel.

  1. Kliknij prawym przyciskiem myszy folder "Pages" w Eksploratorze rozwiązań i wybierz "Dodaj" > "Strona Razor".
  2. Wpisz "ExcelOpener" jako nazwę strony i kliknij "Dodaj".

Jak otworzyć plik Excel w ASP .NET Core, Rysunek 2: Utwórz nową stronę Razor Utwórz nową stronę Razor

Spowoduje to utworzenie dwóch plików: ExcelOpener.cshtml i ExcelOpener.cshtml.cs.

Plik ExcelOpener.cshtml zawiera znaczniki HTML dla strony, a plik ExcelOpener.cshtml.cs zawiera kod C# dla tej strony.

Odczytywanie plików Excel

Przejdźmy do kodu. Podana klasa ExcelOpenerModel jest modelem strony Razor Page. Ta klasa posiada właściwość List<List<string>> Data, która będzie używana do przechowywania danych odczytanych z pliku Excel.

public List<List<string>> Data { get; set; }

public ExcelOpenerModel()
{
    Data = new List<List<string>>();
}

W metodzie OnGet używane jest IronXL do załadowania pliku Excel i odczytania danych z domyślnego arkusza (pierwszego arkusza w zeszycie). Każdy wiersz reprezentowany jest jako List<string>, a wszystkie te listy są następnie dodawane do właściwości Data.

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);
    }
}

Wyjaśnienie kluczowych metod

  • WorkBook.Load(filepath): Ta metoda ładuje dokument Excel z określonej ścieżki pliku. Pomocne jest załadowanie i zapoznanie się z arkuszem Excel.
  • workbook.DefaultWorkSheet: Ta właściwość uzyskuje domyślny (pierwszy) arkusz w skoroszycie Excel.
  • sheet.GetCellAt(i, j).Value.ToString(): Ten element uzyskuje komórkę w określonych indeksach wiersza i kolumny oraz konwertuje jej wartość na string. Oto przykład metody indeksowej, która umożliwia dostęp do określonych komórek lub zakresów w pliku Excel na podstawie indeksów wierszy i kolumn.

Krótkie wyjaśnienie

W pliku ExcelOpener.cshtml.cs klasa nazwana ExcelOpenerModel reprezentuje model strony Razor Page. Zawiera właściwość nazwaną Data typu List<List<string>>, która będzie przechowywać dane z pliku Excel.

Metoda OnGet jest wywoływana, gdy żądana jest strona i jest odpowiedzialna za odczytywanie danych z pliku Excel. Używa IronXL do załadowania pliku Excel, wybiera domyślny arkusz i iteruje po wierszach i kolumnach, aby wypełnić właściwość Data.

Tworzenie plików Excel

Metoda OnPost w klasie ExcelOpenerModel służy do zapisywania modyfikacji w pliku Excel. Najpierw ładuje plik Excel i pobiera domyślny arkusz. Następnie zapisuje wartości z Data do komórek w arkuszu i zapisuje skoroszyt do nowego pliku.

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);
    }
}

Wyjaśnienie kluczowych metod

  • sheet.SetCellValue(i, j, Data[i][j]): Ta metoda ustawia wartość komórki w określonych indeksach wiersza i kolumny.
  • workbook.SaveAs(filepath): Ta metoda zapisuje skoroszyt Excel do określonej ścieżki pliku.

Krótkie wyjaśnienie

Metoda OnPost jest wywoływana, gdy formularz zostanie wysłany, i zapisuje zmodyfikowane dane z powrotem do pliku Excel. Ładuje plik Excel, wybiera domyślny arkusz i aktualizuje wartości komórek na podstawie zmodyfikowanych danych otrzymanych z formularza.

Formularz HTML do edycji danych programu Excel

W pliku ExcelOpener.cshtml zdefiniowano formularz służący do wyświetlania i edycji danych z pliku Excel. Każda wartość komórki jest wyświetlana w polu wprowadzania tekstu. Po edycji, kliknięcie przycisku "Zapisz" spowoduje przesłanie formularza, wywołanie metody OnPost i zapisanie zmian w pliku Excel.

@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel

<form method="post">
    <table class="table table-bordered table-striped">
        <!-- Bootstrap classes for tables -->
        @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]" /> <!-- Bootstrap class for form controls -->
                    </td>
                }
            </tr>
        }
    </table>

    <input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
HTML

Przejście do strony

W pliku _Layout.cshtml do menu nawigacyjnego dodano link do tej strony. Klikając ten link, przejdziesz do strony otwierającej plik Excel.

<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
HTML

Uruchamianie aplikacji i wyjaśnianie wyników

Zbuduj aplikację, klikając przycisk "Buduj" w Visual Studio lub używając skrótu Ctrl + Shift + B. Uruchom aplikację, naciskając klawisz F5 lub klikając przycisk "Start" w programie Visual Studio.

Po uruchomieniu aplikacji przejdź do strony "ExcelOpener", klikając odpowiedni link na pasku nawigacyjnym. Strona wyświetli dane z Excela w formacie tabelarycznym.

Możesz zmodyfikować dane w tabeli i kliknąć przycisk "Zapisz", aby zapisać zmiany z powrotem w pliku Excel.

Jak otworzyć plik Excel w ASP .NET Core, Rysunek 3: Wyświetlanie danych Excel w aplikacji webowej Wyświetlanie danych z Excela w aplikacji internetowej

W tym samouczku pokazano, jak otworzyć plik Excel za pomocą IronXL w aplikacji ASP.NET Core. IronXL zapewnia prosty i wygodny sposób odczytu i edycji plików Excel. Więcej informacji na temat zaawansowanych funkcji i możliwości można znaleźć w dokumentacji IronXL.

IronXL oferuje bezpłatną wersję próbną, która pozwala ocenić jego możliwości. Jeśli uznasz to za przydatne w swoich projektach, możesz zakupić licencję, zaczynając od $999.

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

Powiązane artykuły