使用 IronXL 在 ASP.NET MVC 中使用 C# 讀取 Excel 文件

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

本教學課程指導開發人員如何使用 IronXL 在 ASP.NET MVC 應用程式中實現 Excel 檔案解析。

快速入門:在 MVC 中載入 Excel 表格並將其轉換為 DataTable

本範例展示如何在幾秒鐘內快速入門:載入一個 Excel 工作簿,選擇其第一個工作表,然後使用 IronXL 將其轉換為 System.Data.DataTable——無需互通,輕鬆便捷。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true);
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer

建立一個 ASP.NET 項目

使用 Visual Studio 2022(或類似產品版本)建立一個新的 ASP.NET 專案。 根據特定專案的需要,新增其他 NuGet 套件和原始碼。

安裝 IronXL 庫

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

第一步:
green arrow pointer


建立新專案後,我們需要安裝 IronXL 庫。 請依照以下步驟安裝 IronXL 庫。 開啟 NuGet 套件管理器控制台並執行以下命令:

Install-Package IronXL.Excel

讀取Excel文件

開啟 ASP.NET 專案中的預設控制器(例如 HomeController.cs),並將Index方法替換為下列程式碼:

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.
    var dataTable = workSheet.ToDataTable();

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}
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.
    var dataTable = workSheet.ToDataTable();

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}
Public Function Index() As ActionResult
	' Load the Excel workbook from a specified path.
	Dim workBook As WorkBook = WorkBook.Load("C:\Files\Customer Data.xlsx")

	' Access the first worksheet from the workbook.
	Dim workSheet As WorkSheet = workBook.WorkSheets.First()

	' Convert the worksheet data to a DataTable object.
	Dim dataTable = workSheet.ToDataTable()

	' Send the DataTable to the view for rendering.
	Return View(dataTable)
End Function
$vbLabelText   $csharpLabel

Index操作方法中,我們使用 IronXL 的Load方法來載入 Excel 檔案。 Excel 檔案的路徑(包括檔案名稱)會作為參數傳遞給方法呼叫。 接下來,我們選擇第一個 Excel 工作表作為工作表,並將其中包含的資料載入到DataTable物件中。 最後,將DataTable傳送到前端。

在網頁上顯示 Excel 數據

下一個範例展示如何在網頁瀏覽器中顯示上一個範例中傳回的 DataTable。

本範例中將使用的工作 Excel 檔案如下所示:

Read Excel Files in ASP.NET MVC Using IronXL, Figure 1: Excel file

Excel 檔案

開啟 index.cshtml(首頁)文件,並將程式碼替換為以下 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>
<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>
@{
    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>
<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>
@
If True Then
	ViewData("Title") = "Home Page"
End If

'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> <tbody> foreach(DataRow row in Model.Rows)
"display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> (Of tbody) foreach(DataRow row in Model.Rows)
		If True Then
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class
"text-center"> <h1 class="display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class
[using] System.Data model DataTable <div class="text-center"> <h1 class
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'			(Of tr) @for(int i = 0; i < Model.Columns.Count; i++)
'				{
'					<td> @row[i]</td>
'				}
			</tr>
		End If

'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	</tbody> </table>
$vbLabelText   $csharpLabel

上述程式碼使用Index方法傳回的DataTable作為模型。 使用@for迴圈將表格中的每一行列印到網頁上,並包含 Bootstrap 格式進行裝飾。

運行該項目將產生如下所示的結果。

Read Excel Files in ASP.NET MVC Using IronXL, Figure 2: Bootstrap Table

Bootstrap 表格

常見問題解答

不使用 Interop,如何在 ASP.NET MVC 中讀取 Excel 檔案?

您可以利用 IronXL for .NET 函式庫,在 ASP.NET MVC 中讀取 Excel 檔案,而無需使用 Interop。首先,透過 NuGet 安裝 IronXL,然後使用 WorkBook.Load 方法載入 Excel 檔案。存取工作表,並將其轉換為 DataTable 以便進一步處理。

使用 ASP.NET MVC 在網頁上顯示 Excel 資料需要哪些步驟?

若要使用 ASP.NET MVC 在網頁上顯示 Excel 資料,請使用 IronXL 載入 Excel 檔案,將其轉換為 DataTable 並傳送給檢視。在檢視中使用 Razor 語法遍歷 DataTable 並將資料渲染為 HTML 表格。

如何在 ASP.NET 應用程式中安裝必要的函式庫來處理 Excel 檔案?

若要在 ASP.NET 應用程式中處理 Excel 檔案,請在 Visual Studio 中開啟 NuGet 套件管理員控制台,並執行指令 Install-Package IronXL.Excel 來安裝 IronXL 函式庫。

在 ASP.NET MVC 中使用 IronXL 進行 Excel 操作有何優點?

IronXL 簡化了 ASP.NET MVC 中的 Excel 操作,它提供了一個易於使用的 API,可以在不需要 Excel Interop 的情況下讀取、寫入和操作 Excel 檔案,從而提高了性能並降低了複雜性。

如何在 ASP.NET MVC 中將 Excel 工作表轉換為 DataTable?

在 ASP.NET MVC 中,使用 IronXL 載入 Excel 檔案之後,您可以使用 ToDataTable 方法將工作表轉換為 DataTable 方法,以方便資料處理和操作。

IronXL 可以用於 ASP.NET Core MVC 應用程式的 Excel 處理嗎?

是的,IronXL for .NET 與 ASP.NET Core MVC 應用程式相容,不需仰賴 Excel Interop 即可有效讀取和處理 Excel 檔案。

為了讀取 Excel 檔案,控制器中需要修改哪些程式碼?

修改預設的控制器,如 HomeController.cs ,使用 IronXL 的 WorkBook.Load 來載入 Excel 工作簿,並將工作表資料轉換成 DataTable 傳給檢視。

IronXL 如何改善在 ASP.NET 中讀取 Excel 檔案的流程?

IronXL 透過提供直接的 API 來增強在 ASP.NET 中讀取 Excel 檔案的流程,不需要 Excel Interop,即可無縫讀取、寫入和處理 Excel 資料。

Curtis Chau
技術作家

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

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

準備好開始了嗎?
Nuget 下載 1,738,553 | Version: 2025.11 剛發表