在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
Razor Pages 是一种构建网页的新方法。 使用 Razor Pages,渲染网页的源代码是用 C# 构建的,而不是由服务器端页面生成的。
要高效处理 Excel 文件,建议使用 IronXL 库,而不是 POI Java 项目 NPOI 包等其他库(也可用于 PowerPoint 文件)和 Office Interop。它提供了一个功能丰富的库,简单、易用,而且不需要 Microsoft Office。该库还应支持多个版本的 .NET。
本文将演示如何使用 IronXL.Excel C# 库在 Razor Pages 中生成和导出带有假数据和行头的 Excel 电子表格(页面模型).
IronXL.Excel 是一个 C# Excel 库,提供对大型数据集进行操作的方法和函数。 它利用并行处理来获得更强的计算能力。 程序员很容易使用,因为不需要了解幕后流程是如何工作的。 它支持 XLS 和 XLSX 文件。
IronXL.Excel 还支持导入和导出 Excel 文件,以及创建 Excel 公式和办公文档。 对于那些不想在机器上安装 Microsoft Office 的人来说,这是一个完美的解决方案。
让我们看看如何使用 IronXL.Excel 在 Razor Pages 中导入和导出 Excel 文件。
要在 Razor Pages 中创建 Excel 表单,请打开 Visual Studio,创建一个 ASP.NET Core Web 应用程序并安装 IronXL。
要在 Razor Pages 中创建 Excel 文件,有一些先决条件:
1.Visual Studio(最新版本)
.NET Framework 6 或 7
您可以使用 NuGet 软件包管理器控制台进行安装。 打开控制台并编写以下命令,在 .NET Core Web 应用程序中安装 IronXL 库。
Install-Package IronXL.Excel
现在,是编写代码的时候了。 打开 Pages 文件夹中的 "Index.cs "文件,添加以下方法:
public FileResult OnPostExport()
{
WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("data");
//Add data and styles to the new worksheet
workSheet ["A1"].Value = "Product EN";
workSheet ["B1"].Value = "SKU";
workSheet ["C1"].Value = "Customer";
workSheet ["A1:C1"].Style.Font.Bold = true;
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";
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
WorkSheet workSheet = workBook.CreateWorkSheet("data");
//Add data and styles to the new worksheet
workSheet ["A1"].Value = "Product EN";
workSheet ["B1"].Value = "SKU";
workSheet ["C1"].Value = "Customer";
workSheet ["A1:C1"].Style.Font.Bold = true;
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";
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
Public Function OnPostExport() As FileResult
Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")
'Add data and styles to the new worksheet
workSheet ("A1").Value = "Product EN"
workSheet ("B1").Value = "SKU"
workSheet ("C1").Value = "Customer"
workSheet ("A1:C1").Style.Font.Bold = True
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"
Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
在上述代码中,一个新的 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# and 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# and 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 代码中,创建一个表单标签,将属性 "asp-page-handler "设置为 "Export"。 这将使应用程序能够将 Excel 文件导出到本地计算机。此外,创建一个文本为 "生成 Excel 文件 "的按钮。!". 当用户点击该按钮时,将触发浏览器下载生成的 Excel 文件。
现在运行该项目,您将在浏览器中看到以下界面。 点击绿色按钮下载 Excel 文件。
IronXL 生成 Excel 表
点击 "生成 Excel 文件 "按钮后,您将在底部看到下载的文件。!".
IronXL 下载文件
生成的 Excel 文件中的内容与代码中的内容一致,格式完美。 您可以查看下面生成的 Excel 文件快照。
IronXL 生成文件
IronXL.Excel 库是一种功能更强大的 Excel 工作工具,它既支持 XLS,也支持 XLSX,而且没有 NPOI 的局限性。 与 IronXL 相比,NPOI 的运行速度要慢得多,因为它是用 Java 而不是 C# 编写的。 因此,当您想用以下语言生成大型/多个电子表格时,请选择 IronXL 而不是 POIASP.NET核心应用。
IronXL.Excel 是一个很棒的库,可以在不使用 Microsoft Office 的情况下创建和编辑 Excel 文件。与 Microsoft Interop 不同,IronXL 无需在后台调用 Microsoft Excel 的 ActiveX 即可执行 Excel 操作并导出到 Excel。 IronXL 可以在没有 Microsoft Office 套件的情况下工作。IronXL.Excel 还能将 CSV 文件导出为 Excel 格式。
此外,IronXL.Excel 还提供与 Excel 文件交互的多种功能,包括流行格式之间的转换, 插入数学函数甚至添加图表和插入图像.
本文介绍了如何使用 IronXL 在 Razor Pages 中生成 Excel 文件,其方式无需调用 Microsoft Excel ActiveX 和下载文件。
请访问以下链接了解更多信息创建 Excel 文件的教程.