Blazor Read Excel File in C# Using IronXL (Example Tutorial)
Wprowadzenie
Blazor to otwartoźródłowy .NET Web framework stworzony przez Microsoft. Aplikacja Blazor działa poprzez kompilowanie kodu C# do zgodnego z przeglądarką JavaScript i HTML. W tym tutorialu podzielę się wiedzą na temat najlepszego i najprostszego sposobu odczytywania dokumentów/arkuszy Excel w aplikacji Blazor działającej po stronie serwera przy użyciu biblioteki IronXL C#.
Jak odczytać plik Excel w Blazor
- Zainstaluj bibliotekę C# do odczytu pliku Excel w Blazor
- Utwórz przycisk Prześlij plik w swojej aplikacji Blazor
- Użyj biblioteki C# do odczytu pliku Excel z dysku
- Skonfiguruj aplikację Blazor, aby wyświetlała odczytane dane w tabeli na oknie
Rozpocznij pracę z IronXL
Krok 1 - Utwórz projekt Blazor w Visual Studio
Mam plik XLSX zawierający poniższe dane, które będę czytać i otwieram w aplikacji Blazor Server:
| Wejściowy arkusz Excel XLSX | Wynik w przeglądarce Blazor Server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ![]() |
Rozpocznij od utworzenia projektu Blazor z IDE Visual Studio:
Wybierz typ projektu Blazor Server App:
Uruchom aplikację bez zmiany rozwiązania przy użyciu klawisza F5. Przejdź do zakładki Fetch data aplikacji w taki sposób:
Naszym celem będzie załadowanie pliku Excel do aplikacji Blazor za pomocą przycisku do przesyłania, a następnie wyświetlenie go na tej stronie.
Krok 2 - Dodaj IronXL do swojego rozwiązania
IronXL: .NET Excel Library (Instrukcja instalacji):
IronXL to biblioteka .NET, która pozwala traktować arkusz kalkulacyjny w Microsoft Excel jak obiekt, umożliwiając deweloperowi użycie pełnej mocy C# i .NET Framework do manipulacji strumieniami danych. Jako deweloper chcemy mieć dobry sposób na pobieranie informacji o każdej komórce i kolumnie z dokumentów/arkuszy Excel do naszych aplikacji lub baz danych.
Dzięki IronXL możliwe jest uzyskanie wszelkiego rodzaju informacji z arkusza, takich jak wartości komórek, zawartość komórek, obrazy, odniesienia i formatowanie. IronXL jest lepszy niż NPOI w wielu aspektach. IronXL dostarcza więcej funkcji i może ułatwić pisanie skomplikowanej logiki. Posiada również bardziej preferowane licencje, a zespół wsparcia jest bardziej kompetentny.
IronXL obsługuje wszystkie najnowsze wersje .NET (8, 7 i 6) oraz .NET Core Framework 4.6.2+.
Dodaj IronXL do swojego rozwiązania za pomocą jednej z poniższych metod, a następnie zbuduj rozwiązanie.
Opcja 2A - Użyj Menedżera Pakietów NuGet
Opcja 2B - Dodaj PackageReference w pliku csproj
Możesz dodać IronXL bezpośrednio do swojego projektu, dodając następujący wiersz do dowolnego <ItemGroup> w pliku .csproj twojego rozwiązania:
<PackageReference Include="IronXL.Excel" Version="*" />
Jak pokazano tutaj w Visual Studio:
Krok 3 - Kodowanie przesyłania plików i widoku
W widoku Rozwiązania Visual Studio przejdź do folderu Pages/ i znajdź plik FetchData.razor. Możesz użyć inny plik razorowy, ale użyjemy tego, ponieważ jest dostarczany z wzorcem Blazor Server App.
Zastąp zawartość pliku poniższym kodem:
@using IronXL;
@using System.Data;
@page "/fetchdata"
<PageTitle>Excel File Viewer</PageTitle>
<h1>Open Excel File to View</h1>
<InputFile OnChange="@OpenExcelFileFromDisk" />
<table>
<thead>
<tr>
@foreach (DataColumn column in displayDataTable.Columns)
{
<th>
@column.ColumnName
</th>
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in displayDataTable.Rows)
{
<tr>
@foreach (DataColumn column in displayDataTable.Columns)
{
<td>
@row[column.ColumnName].ToString()
</td>
}
</tr>
}
</tbody>
</table>
@code {
// Create a DataTable instance
private DataTable displayDataTable = new DataTable();
// This method is triggered when a file is uploaded
async Task OpenExcelFileFromDisk(InputFileChangeEventArgs e)
{
IronXL.License.LicenseKey = "PASTE TRIAL OR LICENSE KEY";
// Load the uploaded file into a MemoryStream
MemoryStream ms = new MemoryStream();
await e.File.OpenReadStream().CopyToAsync(ms);
ms.Position = 0;
// Create an IronXL workbook from the MemoryStream
WorkBook loadedWorkBook = WorkBook.FromStream(ms);
WorkSheet loadedWorkSheet = loadedWorkBook.DefaultWorkSheet; // Or use .GetWorkSheet()
// Add header Columns to the DataTable
RangeRow headerRow = loadedWorkSheet.GetRow(0);
for (int col = 0; col < loadedWorkSheet.ColumnCount; col++)
{
displayDataTable.Columns.Add(headerRow.ElementAt(col).ToString());
}
// Populate the DataTable with data from the Excel sheet
for (int row = 1; row < loadedWorkSheet.RowCount; row++)
{
IEnumerable<string> excelRow = loadedWorkSheet.GetRow(row).ToArray().Select(c => c.ToString());
displayDataTable.Rows.Add(excelRow.ToArray());
}
}
}
Podsumowanie
Komponent <InputFile> pozwala na przesyłanie pliku na tej stronie. Ustawiliśmy wywołanie zdarzenia na wywołanie OpenExcelFileFromDisk, które jest metodą asynchroniczną w bloku @code na dole. HTML wyświetli arkusz Excel jako tabelę na zakładce.
IronXL.Excel to samodzielna biblioteka oprogramowania .NET do odczytu szerokiej gamy formatów arkuszy kalkulacyjnych. Nie wymaga zainstalowanego Microsoft Excel i nie jest zależny od Interop.
Dalsza lektura
Zobacz Dokumentację API
Zapoznaj się z Dokumentacją API dla IronXL, przedstawiającą szczegóły wszystkich funkcji, przestrzeni nazw, klas, metod, pól i wyliczeń IronXL.
Zobacz Dokumentację APIPobierz produkt oprogramowania.
Często Zadawane Pytania
Jak mogę odczytać pliki Excel w aplikacji Blazor po stronie serwera?
Aby odczytać pliki Excel w aplikacji Blazor po stronie serwera, można użyć biblioteki IronXL w języku C#. Umożliwia ona łatwą integrację z projektem Blazor, instalując bibliotekę za pomocą Menedżera pakietów NuGet, a następnie implementując kod do odczytywania i wyświetlania danych Excel.
Jakie są kroki, aby skonfigurować projekt Blazor do odczytu plików Excel?
Najpierw zainstaluj IronXL za pomocą Menedżera pakietów NuGet. Następnie utwórz przycisk do przesyłania plików w aplikacji Blazor. Użyj IronXL do odczytania przesłanego pliku Excel i skonfiguruj aplikację, aby wyświetlała dane w tabeli, używając komponentów Razor.
Czy możliwe jest odczytywanie plików Excel w aplikacji Blazor bez zainstalowanego Excela?
Tak, z IronXL można odczytywać i manipulować plikami Excel w aplikacji Blazor bez posiadania zainstalowanego Microsoft Excel na systemie.
Jak mogę wyświetlać dane Excel w aplikacji Blazor?
Po odczytaniu pliku Excel za pomocą IronXL, można użyć komponentów Razor w aplikacji Blazor, aby wyświetlać dane w formacie tabeli, ulepszając interfejs użytkownika.
Jakie korzyści oferuje IronXL w porównaniu do innych bibliotek Excel?
IronXL oferuje rozległą funkcjonalność, łatwość obsługi skomplikowanej logiki, lepsze warunki licencyjne oraz dedykowane wsparcie, co czyni ją lepszym wyborem w porównaniu do alternatyw jak NPOI.
Jakie wersje .NET są wspierane przez IronXL do manipulacji Excel?
IronXL obsługuje wszystkie najnowsze wersje .NET, w tym 8, 7 i 6, a także .NET Core Framework 4.6.2+, zapewniając szeroką kompatybilność z nowoczesnymi aplikacjami.
Jak zintegrować bibliotekę Excel z moim projektem Blazor?
Możesz zintegrować bibliotekę Excel, taką jak IronXL, z projektem Blazor, używając Menedżera pakietów NuGet z komendą dotnet add package IronXL.Excel lub dodając PackageReference w pliku .csproj.
Jakie kroki należy podjąć, jeśli moja aplikacja Blazor nie odczytuje pliku Excel?
Upewnij się, że IronXL jest poprawnie zainstalowany przez NuGet i że aplikacja Blazor ma odpowiednie uprawnienia do odczytywania plików z dysku. Sprawdź dokładnie ścieżkę pliku Excel i upewnij się, że format pliku jest obsługiwany przez IronXL.
Can I get detailed information from an Excel worksheet using IronXL?
Yes, with IronXL, you can retrieve various types of information from an Excel worksheet such as cell values, images, formatting, and more.
Where can I find the API Reference for IronXL?
You can explore the API Reference for IronXL by visiting their official documentation site, which provides detailed information on all features, namespaces, methods, and classes.

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.
