IRONSOFTWAREHOME
USING IRONXL

如何在 Razor Pages 上生成 Excel 文件

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

Razor Pages 提供一種現代化的方法來建立網頁。 在 Razor Pages 中,呈現網頁的原始碼是用C#編寫的,而不是由伺服器端頁面生成的。

為了有效地處理 Excel 文件,推薦使用 IronXL 程式庫,而不是其他例如 POI Java 專案 NPOI 套件(通常用於 PowerPoint 文件)和 Office Interop。IronXL 是一個功能豐富且易於使用的程式庫,無需 Microsoft Office,並支援多個 .NET 版本。

本文展示了如何使用 IronXL C# 程式庫在 Razor Pages 中生成並匯出包含虛擬資料和行標題的 Excel 試算表。

IronXL: C# Excel 程式庫

IronXL 是一個 C# Excel 程式庫,提供方法和函式以使用並行處理操作大型資料集以增加計算能力。 它對使用者友好,因為不需要了解內部工作,並支援 XLS 和 XLSX 文件。

IronXL 是導入、匯出、建立 Excel 公式和辦公文件的理想選擇,無需安裝 Microsoft Office。

學習如何在 Razor Pages 中使用 IronXL 導入和匯出 Excel 文件。

在 Razor Pages 中生成 Excel 文件

要在 Razor Pages 中建立 Excel 試算表,請先打開 Visual Studio,建立一個 ASP.NET Core 網頁應用程式,並安裝 IronXL。

前提條件

設置在 Razor Pages 中生成 Excel 文件需要:

  1. Visual Studio(最新版本)
  2. .NET Framework 6 或 7
  3. Visual Studio 中的 .NET Core 網頁應用程式

安裝 IronXL 程式庫

using NuGet 封裝管理器控制台安裝 IronXL。 輸入此命令以在 .NET Core 網頁應用程式中安裝程式庫:

PM > Install-Package IronXL.Excel

生成 Excel 文件的程式碼

以下是如何撰寫程式碼。 打開 Pages 資料夾中的 "Index.cs" 並新增以下方法:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}

在此程式碼中,建立了一個新的 Excel WorkBook,包含一個 WorkSheet。 該試算表用虛擬資料填充,然後將生成的文件回應給伺服器,內容如下:

  • WorkBook 被轉換為 Stream 以作為文件下載。
  • 設置 MIME 型別。
  • 指定文件下載的名稱。

建立按鈕以下載 Excel 文件

用以下內容取代在 "Index.cshtml" 中的現有程式碼:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

此 HTML 建立一個表單,將 asp-page-handler 設置為"匯出",使應用程式能夠在使用者點擊"生成 Excel 文件!"按鈕時將 Excel 文件匯出到本地機器,從而觸發瀏覽器下載。

運行專案

運行專案,您將在瀏覽器中看到一個畫面。 點擊綠色按鈕以下載 Excel 文件。

如何在 Razor Pages 中生成 Excel 文件,圖1:IronXL 生成 Excel 試算表 IronXL 生成 Excel 試算表

點擊"生成 Excel 文件!"後,文件將會下載。

如何在 Razor Pages 中生成 Excel 文件,圖2:IronXL 下載的文件 IronXL 下載的文件

開啟生成的 Excel 文件

生成的 Excel 文件的內容與程式碼的輸出一致,並且格式完美。 以下顯示了生成的 Excel 文件的快照。

如何在 Razor Pages 中生成 Excel 文件,圖3:IronXL 生成的文件 IronXL 生成的文件

IronXL 優於競爭對手

IronXL 是處理 XLS 和 XLSX 格式的優越工具,沒有像 NPOI 那樣的限制,後者因為基於 Java 而速度較慢,IronXL 是 C#。 在 ASP.NET Core 應用程式中生成大型/多個試算表時,選擇 IronXL 而不是 POI。

IronXL 允許建立和編輯 Excel 文件,無需 Microsoft Office。不像 Microsoft Interop,IronXL 不需要調用 Microsoft Excel 的 ActiveX 進行 Excel 操作或匯出。 它還允許將 CSV 文件匯出為 Excel 格式。

IronXL 還提供了豐富的功能來與 Excel 文件交互,包括 在流行格式間轉換插入數學函式、新增圖表以及 插入圖片

結論

本文展示了在 Razor Pages 中使用 IronXL 生成 Excel 文件,無需 Microsoft Excel ActiveX 並協助文件下載。

探索更多 建立 Excel 文件的教程

IronXL 免費用於非商業開發。 有一個免費試用可用於生產測試。 查看 定價計劃 以獲取更多定價和授權細節。

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天試用金鑰
無需信用卡或帳戶建立