如何使用 C# 在 Blazor 中讀取 Excel 文件

Blazor Read Excel File in C# Using IronXL (Example Tutorial)

This article was translated from English: Does it need improvement?
Translated
View the article in English

簡介

Blazor是一個由微軟創建的開源.NET Web框架。 Blazor應用程式的工作原理是將C#代碼編譯成符合瀏覽器的JavaScript和HTML。 在本教程中,我將分享在Blazor伺服器端應用程式中使用IronXL C#庫來讀取Excel文檔/工作表的最佳簡單方法。

IronXL在Blazor中查看Excel的演示
class="hsg-featured-snippet">

如何在Blazor中讀取Excel檔案

  1. 安裝C#庫以在Blazor中讀取Excel檔案
  2. 在您的Blazor應用程式上創建一個文件上傳按鈕
  3. 使用C#庫從磁盤讀取Excel檔案
  4. 配置Blazor應用程式以在窗口中表格顯示讀取到的數據

開始使用IronXL

立即開始在您的項目中使用 IronXL 並免費試用。

第一步:
green arrow pointer
---------------------------------- ## 步驟 1 - 在Visual Studio中創建Blazor項目 我有一個XLSX文件包含以下數據,我將在Blazor伺服器應用程式中讀取並打開:
輸入的XLSX Excel表 Blazor伺服器瀏覽器中的結果
名字 姓氏 ID
John Applesmith 1
Richard Smith 2
Sherry Robins 3
Browser View related to 開始使用IronXL
首先從Visual Studio IDE創建一個Blazor項目: New Project related to 開始使用IronXL 選擇**`Blazor伺服器應用程式`**項目類型: Choose Blazor Project Type related to 開始使用IronXL 繼續運行應用程式而不更改解決方案,按`F5`鍵。 導航至應用程式的 `獲取數據` 標籤,如下所示: First Run related to 開始使用IronXL 我們的目標是將Excel文件加載到Blazor應用程式中,透過上傳按鈕,然後在此頁面上顯示。 ## 步驟 2 - 添加IronXL到您的解決方案 ### IronXL: .NET Excel庫(安裝說明): IronXL是一個.NET庫,可讓您像對待物件一樣對待Microsoft Excel中的電子表格,使開發者可以使用完整的C#和.NET Framework的強大功能來操作數據流。 作為開發者,我們希望有一種好方法可以從Excel文檔/工作表中將每行的單元格和列信息提取到我們的應用程式或資料庫中。 使用IronXL,可以從工作表獲取各種信息,例如單元格值、單元格內容、圖像、參考和格式。 IronXL在很多方面優於NPOI。 IronXL提供了更多的功能,可以使撰寫複雜邏輯變得更簡單。 它還有更好的授權選擇且支持團隊更有能力。 IronXL支持所有最新版本的.NET(8、7和6)和.NET Core Framework 4.6.2+。 使用以下方法之一將IronXL添加到您的解決方案中,然後構建該解決方案。 ### 選項 2A - 使用NuGet包管理器 ```shell :ProductInstall ``` ### 選項 2B - 在csproj文件中添加PackageReference 您可以透過在解決方案的.csproj文件中的任何``中添加以下行,將IronXL直接加入到您的項目中: ```xml ``` 在Visual Studio中顯示如下: Add Ironxl Csproj related to 開始使用IronXL ## 步驟 3 - 編碼文件上傳和查看 在Visual Studio解決方案查看中,轉至`Pages/`文件夾並找到`FetchData.razor`文件。您可以使用任何其他razor文件,但我們將使用這一個,因為它配備了Blazor伺服器應用程式模板。 用以下代碼替換文件內容: ```csharp @using IronXL; @using System.Data; @page "/fetchdata" Excel File Viewer @foreach (DataColumn column in displayDataTable.Columns) { } @foreach (DataRow row in displayDataTable.Rows) { @foreach (DataColumn column in displayDataTable.Columns) { } }
@column.ColumnName
@row[column.ColumnName].ToString()
@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 excelRow = loadedWorkSheet.GetRow(row).ToArray().Select(c => c.ToString()); displayDataTable.Rows.Add(excelRow.ToArray()); } } } ``` ## 總結 `` 元件允許您在此網頁上上傳文件。 我們設置了調用事件回調以調用`OpenExcelFileFromDisk`,這是在底部的`@code`塊中的異步方法。 HTML將在標籤上將您的Excel表渲染為表格。 IronXL.Excel是一個獨立的.NET軟體庫,可以讀取各種電子表格格式。 它不需要安裝[Microsoft Excel](https://products.office.com/en-us/excel),並且不依賴於Interop。

class="tutorial-segment-title">進一步閱讀

class="tutorial-section">
class="row">
class="col-sm-4">
class="tutorial-image"> Documentation related to class=進一步閱讀" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy">
class="col-sm-8">

查看API參考

探索IronXL的API參考,詳細說明IronXL的所有功能、命名空間、類、方法欄位和枚舉。

查看API參考
*[下載](https://ironsoftware.com/csharp/excel/get-started/blazor-read-excel-file-tutorial/)該軟體產品。*

常見問題解答

如何在 Blazor 伺服器端應用程式中讀取 Excel 檔案?

要在 Blazor 伺服器端應用程式中讀取 Excel 文件,可以使用 IronXL C# 庫。它允許您透過 NuGet 套件管理器輕鬆將其整合到 Blazor 專案中,然後編寫程式碼來讀取和顯示 Excel 資料。

如何設定 Blazor 專案以讀取 Excel 檔案?

首先,透過 NuGet 套件管理器安裝 IronXL。接下來,在 Blazor 應用程式中建立一個檔案上傳按鈕。使用 IronXL 讀取上傳的 Excel 文件,並配置應用以使用 Razor 元件在表格中顯示資料。

是否可以在未安裝 Excel 的 Blazor 應用程式中讀取 Excel 檔案?

是的,使用 IronXL,您可以在 Blazor 應用程式中讀取和操作 Excel 文件,而無需在您的系統上安裝 Microsoft Excel。

如何在 Blazor 應用程式中顯示 Excel 資料?

使用 IronXL 讀取 Excel 檔案後,您可以在 Blazor 應用程式中使用 Razor 元件以表格格式顯示數據,從而增強使用者介面。

IronXL 相較於其他 Excel 函式庫有哪些優點?

IronXL 提供豐富的功能、易於處理複雜的邏輯、優越的授權條款和專門的支持,使其成為比 NPOI 等替代方案更可取的選擇。

IronXL 支援哪些 .NET 版本進行 Excel 操作?

IronXL 支援所有最新版本的 .NET,包括 8、7 和 6,以及 .NET Core Framework 4.6.2+,確保與現代應用程式的廣泛相容性。

如何將 Excel 庫整合到我的 Blazor 專案中?

您可以使用 NuGet 套件管理器,透過命令dotnet add package IronXL.Excel或在.csproj檔案中新增PackageReference ,將 IronXL 等 Excel 庫整合到 Blazor 專案中。

如果我的 Blazor 應用程式無法讀取 Excel 文件,我該採取哪些故障排除步驟?

請確保已透過 NuGet 正確安裝 IronXL,並且您的 Blazor 應用程式擁有從磁碟讀取檔案的必要權限。請仔細檢查 Excel 檔案路徑是否正確,以及 IronXL 是否支援該檔案格式。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布