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。

学习如何使用 IronXL 在 Razor Pages 中导入和导出 Excel 文件。

在 Razor Pages 中生成 Excel 文件

要在 Razor Pages 中创建 Excel 表格,首先打开 Visual Studio,创建一个 ASP.NET Core Web 应用程序,然后安装 IronXL。

前提条件

在 Razor Pages 中创建 Excel 文件需要以下设置:

  1. Visual Studio(最新版本)
  2. .NET Framework 6或7
  3. Visual Studio 中的 .NET Core Web 应用程序

安装 IronXL 库

using NuGet 程序包管理器控制台安装 IronXL。 输入以下命令,即可在 .NET Core Web 应用程序中安装该库:

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页面上生成Excel文件,图1:IronXL生成Excel工作表 IronXL 生成 Excel 表格

点击"生成Excel文件!"后,文件将开始下载。

如何在Razor页面上生成Excel文件,图2:IronXL已下载的文件 IronXL 下载文件

打开生成的 Excel 文件

生成的 Excel 文件内容与代码输出完全一致,格式也完全正确。 下面显示的是生成的 Excel 文件的快照。

如何在Razor页面上生成Excel文件,图3:IronXL生成的文件 IronXL生成的文件

IronXL 比竞争对手更胜一筹

IronXL 是一款出色的工具,可以处理 XLS 和 XLSX 格式,没有像 NPOI 那样的限制。NPOI 由于是基于 Java 的,速度较慢,而 IronXL 是 C# 编写的。 在生成大型/多个电子表格的 ASP.NET Core 应用程序中,建议选择 IronXL 而不是 POI。

IronXL 允许在不使用 Microsoft Office 的情况下创建和编辑 Excel 文件。与 Microsoft Interop 不同,IronXL 不需要调用 Microsoft Excel 的 ActiveX 控件来进行 Excel 操作或导出。 它还允许将 CSV 文件导出为 Excel 格式。

IronXL 还提供了与 Excel 文件交互的丰富功能,包括常用格式之间的转换插入数学函数、添加图表和插入图像

结论

本文展示了如何使用 IronXL 在 Razor Pages 中生成 Excel 文件,而无需 Microsoft Excel ActiveX,并方便文件下载。

探索更多关于创建Excel文件的教程

IronXL 对非商业开发免费。 提供免费试用版,可用于生产环境测试。 查看定价方案了解更多定价和许可详情。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

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 天试用密钥
无需信用卡或创建账户