使用 IRONXL 如何在 Razor Pages 中生成 Excel 文件 Curtis Chau 已更新:七月 28, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 Razor Pages 提供了一种现代化的网页构建方法。 在 Razor Pages 中,渲染网页的源代码是用 C# 编写的,而不是由服务器端页面生成的。 为了高效处理 Excel 文件,我们推荐使用 IronXL 库,而不是其他库,例如 POI Java 项目 NPOI 包(尤其适用于 PowerPoint 文件)和 Office Interop。IronXL 功能丰富、易于使用,无需 Microsoft Office,并且支持多个 .NET 版本。 本文演示如何使用 IronXL C# 库在 Razor Pages 中生成和导出带有虚拟数据和行标题的 Excel 电子表格。 如何在 Razor Pages 中生成 Excel 文件 安装 C# 库以在 Razor 中生成 Excel 文件 以某种方式访问或创建新的 Excel 文件 在 Razor 中向WorkBook对象添加数据和样式 使用"文件"方法,在按下按钮时自动下载 Excel 文件。 检查生成的 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 文件需要以下设置: Visual Studio(最新版本) .NET Framework 6或7 Visual Studio 中的 .NET Core Web 应用程序 安装 IronXL 库 使用 NuGet 程序包管理器控制台安装 IronXL。 输入以下命令,即可在 .NET Core Web 应用程序中安装该库: 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"); } 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"); } Public Function OnPostExport() As FileResult ' Create a new WorkBook with XLSX format Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX) ' Create a new WorkSheet named "data" Dim workSheet As 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") End Function $vbLabelText $csharpLabel 这段代码创建了一个新的 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> @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 那样的限制。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 对非商业开发免费。 提供免费试用版,可用于生产环境测试。 查看定价方案了解更多定价和许可详情。 常见问题解答 如何在Razor Pages中生成不使用Interop的Excel文件? 您可以通过利用IronXL库在Razor Pages中生成不使用Interop的Excel文件。此库允许您在C#中直接创建和操作Excel文件,无需Microsoft Office,通过创建一个WorkBook并向WorkSheet添加数据即可。 在Razor Pages项目中安装IronXL涉及哪些步骤? 要在Razor Pages项目中安装IronXL,您可以使用Visual Studio中的NuGet包管理器控制台。执行命令Install-Package IronXL.Excel以将该库添加到您的项目中。 我可以使用IronXL从Razor Pages应用程序中导出数据吗? 是的,可以使用IronXL从Razor Pages应用程序中导出数据。您可以将数据转换为Excel格式,然后使用Razor Pages将该数据流回客户端作为可下载文件。 使用IronXL而非Microsoft Interop生成Excel文件的好处是什么? 与Microsoft Interop相比,IronXL具有几个优势,包括更快的性能,无需安装Microsoft Office,并且能够通过并行处理高效处理大型数据集。 在Razor Pages中使用IronXL可以处理大型Excel数据集吗? 是的,IronXL能够高效处理大型Excel数据集。它支持并行处理,能够在处理大量数据时提升性能和速度。 IronXL支持不同的Excel文件格式吗? IronXL支持XLS和XLSX两种文件格式,允许进行全面的Excel文件操作,包括导入、导出和格式化数据。 在开发中是否有使用IronXL的免费选项? IronXL可以免费用于非商业开发。提供免费试用用于生产测试,并有多种定价方案可用于商业用途。 如何在Razor Pages中使用IronXL触发Excel文件下载? 要在Razor Pages中使用IronXL触发Excel文件下载,创建一个WorkBook,用数据填充,然后将其转换为字节数组。使用Razor Pages的File方法将字节数组流化为可下载文件发送给用户。 是什么让IronXL比其他库如NPOI更具优势? IronXL通常比类似NPOI的库更受推荐,因为它是本地C#实现,提供更快的性能,易于使用,并且没有对Java组件的依赖,这使其非常适合ASP.NET Core应用程序。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多 已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多 已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多 如何在 Blazor 中使用 IronXL 将数据导出到 Excel如何在 C# 中使用 CSV 解析器
已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多
已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多
已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多