使用 IRONXL 如何在 Razor Pages 中生成 Excel 文件 Curtis Chau 已更新:2025年7月28日 下载 IronXL NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 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"); } $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文件。 IronXL 生成 Excel 表格 点击"生成Excel文件!"后,文件将开始下载。 IronXL 下载文件 打开生成的 Excel 文件 生成的 Excel 文件内容与代码输出完全一致,格式也完全正确。 下面显示的是生成的 Excel 文件的快照。 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 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2026年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多 已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多 已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多 如何在 Blazor 中使用 IronXL 将数据导出到 Excel如何在 C# 中使用 CSV 解析器
已更新2026年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多
已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多
已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多