IRONSOFTWAREHOME
USING IRONXL

如何在 ASP .NET Core 中開啟 Excel 文件

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

本教程將展示如何在ASP.NET Core應用程式中使用IronXL程式庫開啟Excel文件。 它將涵蓋讀取Excel文件的基本步驟,然後顯示其中的資料,並將修改後的資料儲存回文件。

什麼是IronXL?

IronXL 是一個 .NET 的Excel程式庫,它提供功能讓您操作Excel文件而不需要Microsoft Excel或Office Interop的依賴。 它支持.NET Framework及.NET Core,僅需幾行程式碼即可實現編寫、操作和讀取Excel文件。 如需閱讀Excel文件的詳細教程,請參閱這個 Excel教程

IronXL程式庫可以 讀取和寫入Excel文件提取資料,操作資料,甚至從頭建立新的Excel文件。 IronXL支持不僅是.XLS格式,還 相容.XLSX,這是由Microsoft開發的基於XML的電子表格文件格式。

先決條件

在深入程式碼之前,請確保您擁有以下內容:

  1. 已安裝.NET Core 3.1或更高版本。
  2. 適合.NET開發的IDE(建議使用Microsoft Visual Studio)。
  3. 對ASP.NET Core和Razor Pages的基本了解。

建立新的.NET Core專案

  1. 打開Microsoft Visual Studio並選擇"建立一個新專案"。
  2. 從專案模板列表中選擇"ASP.NET Core Web應用程式"並點擊"下一步"。
  3. 為您的專案提供一個名稱,例如"Open_Excel_File_.NET_Core",選擇一個位置,然後點擊"下一步"。
  4. 選擇".NET Core"作為目標框架並選擇"ASP.NET Core 3.1或更高版本"作為版本。 在"專案模板"部分,選擇"Web應用程式"並點擊"建立"。

安裝IronXL套件

接下來的步驟是在這個新建立的專案中安裝IronXL套件:

  1. 在方案總管中右鍵點擊專案並選擇"管理NuGet套件"。

  2. 在"瀏覽"選項卡中,搜索"IronXL"並點擊IronXL.Excel套件的"安裝"。

    如何在ASP .NET Core中開啟Excel文件,圖1:在NuGet套件管理器UI中搜尋並安裝IronXL套件 在NuGet套件管理器UI中搜尋並安裝IronXL套件

  3. 等待套件安裝完成。

您的ASP.NET Core專案現在已設置完畢,IronXL程式庫已安裝並準備使用。

建立Razor Page

現在,讓我們建立一個Razor Page來編寫開啟Excel文件的程式碼。

  1. 在方案總管中的"Pages"文件夾上右鍵單擊,然後選擇"新增" > "Razor Page"。

  2. 輸入"ExcelOpener"作為頁面名稱,然後點擊"新增"。

    如何在ASP .NET Core中開啟Excel文件,圖2:建立新的Razor Page 建立新的Razor Page

這將建立兩個文件:ExcelOpener.cshtmlExcelOpener.cshtml.cs

ExcelOpener.cshtml文件包含頁面的HTML標記,而ExcelOpener.cshtml.cs文件則包含頁面的C#後端程式碼。

讀取Excel文件

讓我們深入程式碼。 提供的ExcelOpenerModel類是Razor Page Model。 此類有一個Data,將用於儲存從Excel文件讀取的資料。

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

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

OnGet方法中,使用IronXL載入Excel文件並讀取預設工作表(工作簿中的第一張工作表)的資料。 每一行都表示為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);
    }
}

關鍵方法說明

  • **WorkBook.Load(filepath):**此方法從指定的文件路徑載入Excel文件。 它有助於載入和讀取Excel工作表。
  • **workbook.DefaultWorkSheet:**此屬性獲取Excel電子表格中預設(第一張)Excel工作表。
  • **sheet.GetCellAt(i, j).Value.ToString():**這個方法在指定的行和列索引處獲取儲存格並將其值轉換為字串。 這是一個範例索引方法,可以根據行和列索引存取Excel文件中的特定儲存格或範圍。

簡短說明

ExcelOpener.cshtml.cs文件中,一個名為ExcelOpenerModel的類表示Razor Page Model。 它包含一個名為List<List<string>>,將容納從Excel文件獲取的資料。

Data屬性。

寫入Excel文件

ExcelOpenerModel類中用於保存對Excel文件的修改。它首先載入Excel文件並檢索預設工作表。 然後將Data中的值寫入工作表中的儲存格並將工作簿保存到新文件。

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

關鍵方法說明

  • **sheet.SetCellValue(i, j, Data[i][j]):**此方法設置在指定的行和列索引處的儲存格的值。
  • **workbook.SaveAs(filepath):**此方法將Excel工作簿保存到指定的文件路徑。

簡短說明

OnPost方法在表單提交時被調用,它將修改後的資料保存回Excel文件。它載入Excel文件,選擇預設工作表,並根據從表單接收到的修改資料更新儲存格值。

編輯Excel資料的HTML表單

ExcelOpener.cshtml中,定義了一個表單用於顯示和編輯Excel文件中的資料。每個儲存格的值都顯示在文字輸入欄位中。 編輯後,點擊"儲存"按鈕將提交表單,觸發OnPost方法並將更改保存到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

導航到頁面

在**_Layout.cshtml**中,導航選單中新增了一個指向頁面的連結。 點擊此連結,將導航到Excel開啟頁面。

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

運行應用程式並解釋輸出

通過在Visual Studio中點擊"建置"按鈕或使用Ctrl + Shift + B快捷鍵來建置應用程式。 通過按F5或在Visual Studio中點擊"啟動"按鈕來運行應用程式。

一旦應用程式運行起來,透過點擊導航欄上的相應連結導航到"ExcelOpener"頁面。 頁面將以表格格式顯示來自Excel的資料。

您可以在表格中修改資料,然後點擊"儲存"按鈕將更改保存回Excel文件。

如何在ASP .NET Core中開啟Excel文件,圖3:在Web應用程式中顯示Excel資料 在Web應用程式中顯示Excel資料

本教程演示了如何在ASP.NET Core應用程式中使用IronXL開啟Excel文件。 IronXL提供了一種簡單且方便的方法來讀取和操作Excel文件。 您可以查閱IronXL文件以了解更多進階功能和功能。

IronXL提供免費試用,讓您可以評估其功能。 如果您發現它對您的專案有幫助,您可以以$999開始購買授權。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預約您的免費即時演示
Booking Badge

全球數百萬工程師的信賴

Iron Software的客戶標誌
獲得無義務諮詢
填寫以下表格或電郵sales@ironsoftware.com
您的資料將始終保密。
全球數百萬工程師的信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立